Xcode - 滚动视图 - 自动布局

时间:2017-06-14 01:57:14

标签: swift xcode swift3

我正在使用Xcode 8.3.2和Swift 3

使用滚动视图创建了一个故事板,该视图对superview的边距为零

滚动视图的边距如下:

Top, trailing, bottom and leading space to superview as 0

滚动视图有一个子节点,一个带有以下边距的容器视图:

Trailing, leading, bottom and top to superview at 0
Align center Y and align Center X in Superview
Intrinsic size to placeholder with height unchecked

XCode建议放入对齐中心X和Y

在容器视图中,我想有两个UI视图。我希望蓝色UI视图的高度始终为236.红色视图我希望最小高度为400,如果有更多空间可以增长

蓝色视图的约束是:

Height = 227
Trailing, leading, bottom to superview at 0
Top to red view as 0

红色视图的约束是:

Height >= 400
Trailing, leading, top to superview at 0
Bottom to blue view as 0

当我翻动手机时,红色视图缩小,蓝色视图保持在227.

滚动视图似乎无法识别容器大于屏幕大小。

什么可能导致滚动视图无法识别容器视图是否大于屏幕?

Story Board

屏幕以横向模式旋转的模拟器;红色视图太小,即使高度为> = 400.没有滚动

enter image description here

1 个答案:

答案 0 :(得分:1)

<强>意见:

它似乎应该正常工作。在横向模式下,屏幕高度较低。根据您的限制,您希望第一个视图的高度为227,第二个视图的高度至少为400.这意味着可能的最小高度加起来为627. iPhone 5,在景观中模式,没有那么高的高度。所以iOS打破了一些限制,尽可能地布局屏幕(你可能也会在控制台中看到这个日志)。

<强>建议:

相应地更改contentSize的{​​{1}}以适应约束的实现。