我实现了一个与此问题类似的viewcontroller: iOS two views cover exactly half of parent view
我得到了理想的结果。问题是,当我将UIImageView添加到这两个容器中时,结果会调整大小并破坏对称性。如何防止Imageview更改其容器的大小?我需要对这些图像使用AspectFill。
答案 0 :(得分:0)
我认为容器的尺寸没有改变。您只需将其clipsToBounds
属性设置为true即可避免溢出。
如果您使用Reveal,您应该会看到容器的尺寸不会改变,即使它们内的图片比它们大。
答案 1 :(得分:0)
我不确定我理解你将UIImageView添加到那些导致视图调整大小的控制器的意思,所以请原谅我,如果我错了......
听起来好像你创造了两个高度相等的视图,它们一起消耗了整个屏幕的垂直空间。完成后,您需要为原始的两个视图中的每个视图添加一个或多个UIImageView。不幸的是,当您添加UIImageView时,将调整封闭视图的大小。
假设我有正确的......
您是在XIB或Storyboard文件中使用Interface Builder进行此操作吗?如果是这样,你应该能够通过适当的约束来实现这一点。
在下图中,我已经列出了我上面描述的内容。
如您所见,我在窗口的上半部分有一个红色的视图,在下半部分有一个绿色的视图。红色视图包含UIImageView,它是红色视图宽度和高度的75%,其原点位于红色视图中的(20,20)。
场景配置如下:
"上部视图"是:
您可以从中看到,上部视图与其超级视图的左侧,右侧和顶部齐平,并且其底部视图的空间为0.您必须相信我已经设置了底部视图同样的方式。
上下视图的高度为"比例"如此约束所示:
实现这一目标"比例"设置,首先使上视图的高度等于超视图的高度,然后编辑约束,更改"乘数"来自" 1"到" 0.5。"
图像视图的高度(和宽度)与上部视图的高度(和宽度)成正比,如下所示:
如果你这样设置,你应该能够完成你想要完成的任务(我认为)。
如果我对您要实现的目标的原始假设不正确,请发布您所拥有的图片以及它无法正常工作的图片。