我正在使用故事板&自动布局。我在UIScrollView中有一个Container View。容器视图允许我在故事板中布局长(320,1000)视图。我将UIScrollView的内容大小设置为(320,1000)
我将以下对ContainerView的约束固定到ScrollView:
宽度等于:320
高度等于:1,000
顶级空间:Superview
将中心X对齐:Superview
Xcode坚持要添加额外的约束。它将底部空间添加到:Superview Equals:-432 。它不会让我删除这个约束!我不确定这是否会影响下面的问题。
我的iPhone 5和模拟器的4英寸屏幕上的一切正常 当我在模拟器和我的iPhone4S的3.5英寸屏幕上测试它时出现问题。滚动内容大小限制为(320,568),丢失了我的ContainerView的底部部分。
有人可以帮我理解为什么这在3.5英寸屏幕上不起作用吗?
答案 0 :(得分:12)
收到Apple Tech支持部门的答复。它仍然在Xcode中给我一个错误,但它现在在3.5“屏幕上运行。这是答案:
我不确定为什么界面构建器决定将容器视图的底部与滚动视图的内容视图底部减去432相关联。您无法删除此约束,因为必须完全定义布局[ 1]。但是,如果将该约束提升为用户约束,则可以将常量值编辑为零。这将解决内容底部被截止的问题
在Interface Builder中:
1)选择容器视图
2)切换到尺寸检查员
3)单击“底部空间:Superview;等于:-432.0”约束旁边的齿轮图标
4)从菜单中选择选择和编辑
5)在常量字段中输入零值。
[1]:有关详细信息,请参阅技术说明2154的深度解释部分。 https://developer.apple.com/library/ios/#technotes/tn2154/_index.html#//apple_ref/doc/uid/DTS40013309
答案 1 :(得分:0)
当您将视图嵌入InterfaceBuilder中的UIScrollView时,会自动设置约束。如果您的视图比纵向屏幕“更长”,它根本不会滚动。 但是如果你旋转屏幕,你会发现滚动一点的能力。 要让UIScrollView进入AutoLayout,请查看您的约束。 找到“垂直空间 - 滚动视图 - 查看”并将其从“常量”设置为“自动” - 为我修复所有内容。