我已将内容视图放在滚动视图中。我也为内容视图和主视图设置了相等的宽度约束。即使这样,内容视图的大小也基于其子视图。
截图:
内容视图后面有一个空格。 (内容视图背景为黄色)。这只适用于iphone 4s模拟器
答案 0 :(得分:0)
我认为问题在于您的内容视图的子视图在水平方面不够灵活。由于您的布局需要适用于所有iPhone,因此iPhone 6s上的内容将比iPhone 4更宽。
例如,如果你的" NO"图像宽度具有绝对值,并且它具有到内容视图的绝对前导距离和到内容视图的绝对尾随距离,然后内容视图将被过度约束。您有竞争约束,告诉内容视图应该有多宽:1)等于屏幕的宽度或2)等于所包含图像的宽度加上它与屏幕两侧的距离。由于对内容视图大小的限制太多,自动布局可能无法选择您喜欢的约束,并且您最终可能无法按照您的预期或期望调整内容视图。
相反,您应该:
允许图像浮动:定义图像的宽度,然后将其置于内容视图中心。这将允许两侧的距离在较大的设备上扩展。 或强>
允许图像增长:将前沿和后沿约束设置为恒定距离,但不要为图像设置宽度。这将允许图像在较大的设备上伸展。设置纵横比约束以允许图像高度与图像宽度成比例增长以保持比例。如果设置纵横比,请务必删除图像上的任何其他高度限制,否则图像可能会过度约束而不会增长。
在内容视图中对其他子视图重复此操作,确保在内容视图中水平浮动或增长。
< / LI>您可能需要以不同方式处理内容视图的垂直大小。在垂直方向上,您可能还没有限制内容视图的高度,因此您必须确保子视图具有明确的高度(或者以某种其他方式约束,例如纵横比约束),子视图应该以绝对距离从屏幕顶部到屏幕底部的链中相互连接。最顶层的子视图应与内容视图的顶部具有垂直距离。最底部的子视图应与内容视图的底部具有垂直距离。这将为自动布局提供足够的信息来计算内容视图的高度。