2013-06-12 70 views
4

我正在使用故事板&自动布局。我在UIScrollView中有一个容器视图。容器视图允许我在故事板中布置一个长(320,1000)的视图。我将UIScrollView的内容大小设置为(320,1000)。
我寄托在ContainerView到了滚动以下限制:
宽度等于:320
高度等于:1000
顶层空间到:上海华
居中X到:上海华iOS滚动视图,容器视图 - 自动布局问题

的Xcode上添加坚持额外的约束。它增加了一个底部空间:Superview等于:-432。它不会让我删除这个约束!我不确定这是否会影响下面的问题。

一切正常的4" 个细我的iPhone 5的屏幕模拟器。
我的问题是当我测试3.5" 的屏幕在模拟器&我的iPhone4S。滚动内容大小限制为(320,568),丢失了我的ContainerView的底部部分。

有人可以帮助我了解为什么这不会对工作,3.5" 屏幕?

回答

12

收到了来自苹果的技术支持问题的答案。它仍然给了我在Xcode中的错误,但它在3.5" 功能屏幕现在。 这里的答案:

我不知道为什么Interface Builder的决定有关的容器视图滚动视图的内容视图减去432的底部的底部,因为它是必要的,您无法删除此约束布局要完全定义[1]。但是,如果将该约束提升为用户约束,则可以将该常量值编辑为零。这将更正您的内容的底部被切断的问题。
在Interface Builder:
1)选择容器视图
2)切换到尺寸检查
3)点击旁边的齿轮图标“底部空间到:上海华;等于:-432.0”约束。
4)从菜单中选择选择和编辑。
5)在常量字段中输入一个零值。

[1]:详细信息请参阅技术说明2154的深入解释部分。 https://developer.apple.com/library/ios/#technotes/tn2154/_index.html#//apple_ref/doc/uid/DTS40013309

+4

斯科特的真棒答案似乎不适用于Xcode 5,我将如何解决这个在Xcode 5? –

0

在InterfaceBuilder中将视图嵌入到UIScrollView中时,会自动设置一个约束。如果您的视图比纵向的屏幕“长”,它将不会滚动。 但是,如果你旋转屏幕,你会注意到滚动一点的能力。 要让UIScrollView在AutoLayout中查看你的约束。 找到“垂直空间 - 滚动视图 - 视图”并将其从“常量”设置为“自动” - 为我修复了一切。