如何制作两个大小相同的图像视图覆盖整个屏幕

时间:2015-10-26 01:35:08

标签: ios uiimageview autolayout

我实现了一个与此问题类似的viewcontroller:  iOS two views cover exactly half of parent view

我得到了理想的结果。问题是,当我将UIImageView添加到这两个容器中时,结果会调整大小并破坏对称性。如何防止Imageview更改其容器的大小?我需要对这些图像使用AspectFill。

2 个答案:

答案 0 :(得分:0)

我认为容器的尺寸没有改变。您只需将其clipsToBounds属性设置为true即可避免溢出。

如果您使用Reveal,您应该会看到容器的尺寸不会改变,即使它们内的图片比它们大。

答案 1 :(得分:0)

我不确定我理解你将UIImageView添加到那些导致视图调整大小的控制器的意思,所以请原谅我,如果我错了......

听起来好像你创造了两个高度相等的视图,它们一起消耗了整个屏幕的垂直空间。完成后,您需要为原始的两个视图中的每个视图添加一个或多个UIImageView。不幸的是,当您添加UIImageView时,将调整封闭视图的大小。

假设我有正确的......

您是在XIB或Storyboard文件中使用Interface Builder进行此操作吗?如果是这样,你应该能够通过适当的约束来实现这一点。

在下图中,我已经列出了我上面描述的内容。

Upper, Lower, and ImageView

如您所见,我在窗口的上半部分有一个红色的视图,在下半部分有一个绿色的视图。红色视图包含UIImageView,它是红色视图宽度和高度的75%,其原点位于红色视图中的(20,20)。

场景配置如下:

View Scene

"上部视图"是:

enter image description here

您可以从中看到,上部视图与其超级视图的左侧,右侧和顶部齐平,并且其底部视图的空间为0.您必须相信我已经设置了底部视图同样的方式。

上下视图的高度为"比例"如此约束所示:

enter image description here

实现这一目标"比例"设置,首先使上视图的高度等于超视图的高度,然后编辑约束,更改"乘数"来自" 1"到" 0.5。"

图像视图的高度(和宽度)与上部视图的高度(和宽度)成正比,如下所示:

enter image description here

如果你这样设置,你应该能够完成你想要完成的任务(我认为)。

如果我对您要实现的目标的原始假设不正确,请发布您所拥有的图片以及它无法正常工作的图片。