iOS滚动视图,容器视图 – 自动布局问题
我正在使用故事板和自动布局。 我在UIScrollView有一个容器视图。 容器视图允许我在故事板中布置一个长(320,1000)视图。 我把UIScrollView的内容大小设置为(320,1000)。
我把容器上的以下约束固定在ScrollView上:
宽度等于:320
身高相等:1,000
顶层空间:Superview
将中心Xalignment到:Superview
Xcode坚持要添加一个额外的约束。 它增加了底部空间:Superview等于:-432 。 它不会让我删除这个约束! 我不确定这是否会影响下面的问题。
一切工作正常我的iPhone 5和模拟器的4“屏幕上。
我的问题来了,当我在模拟器和我的iPhone4S的3.5“屏幕上testing它时,滚动内容大小限制为(320,568),丢失了我的ContainerView的底部。
有人可以帮助我理解为什么这不起作用的3.5“屏幕?
收到Apple Tech支持的答复。 它仍然给我一个Xcode的错误,但它现在在3.5“屏幕上的function, 这里的答案是:
我不确定为什么界面生成器决定将容器视图的底部与滚动视图的内容视图的底部减去432.你不能删除这个约束,因为它是必要的完全定义的布局[1]。 但是,如果将该约束提升为用户约束,则可以将该常量值编辑为零。 这将纠正您的内容的底部被截断的问题。
在界面生成器中:
1)select容器视图
2)切换到大小检查器
3)点击“Bottom Space to:Superview; Equals:-432.0”约束旁边的齿轮图标。
4)从菜单中selectselect和编辑。
5)在常量字段中input一个零值。
[1]:请参阅技术说明2154的详细说明部分了解更多信息。 https://developer.apple.com/library/ios/#technotes/tn2154/_index.html#//apple_ref/doc/uid/DTS40013309
在InterfaceBuilder中将视图embedded到UIScrollView中时,会自动设置一个约束。 如果您的视图比纵向的屏幕“长”,它将不会滚动。 但是,如果你旋转屏幕,你会注意到滚动一点的能力。 要让UIScrollView进入AutoLayout看看你的约束。 find“垂直空间 – 滚动视图 – 视图”,并将其从“常量”设置为“自动” – 为我修复了一切。