我正在使用 Xcode 8.3.2 和 Swift 3
创建了一个 Storyboard,其中 ScrollView 与 super View 的边距为零
ScrollView 的边距如下:
Top, trailing, bottom and leading space to superview as 0
ScrollView 有一个 subview ,一个具有以下边距的容器 View :
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 中心对齐
在容器 View 中,我想有两个 UI View 。我希望蓝色 UI View 的高度始终为 236。我希望红色 View 的最小高度为 400,如果有更多可用空间,则可以增加更高
蓝色 View 的约束是:
Height = 227
Trailing, leading, bottom to superview at 0
Top to red view as 0
红色 View 的约束是:
Height >= 400
Trailing, leading, top to superview at 0
Bottom to blue view as 0
当我翻转手机时,红色 View 缩小,蓝色 View 保持在 227。
ScrollView 似乎无法识别容器大于屏幕尺寸。
是什么导致 ScrollView 无法识别容器 View 大于屏幕?
屏幕在横向模式下旋转的模拟器;即使高度 >= 400,红色 View 也太小了。没有滚动
最佳答案
观察:
它似乎在正常工作。在横向模式下,屏幕高度较小。根据您的限制,您希望第一个 View 的高度为 227,第二个 View 的高度至少为 400。这意味着可能的最小高度加起来为 627。横向模式下的 iPhone 5 没有那么高.因此 iOS 打破了一些限制以尽可能地布局屏幕(您可能也会在控制台中看到该日志)。
建议:
相应地更改 scrollView
的 contentSize
以适应约束的实现。
关于swift - Xcode - ScrollView - 自动布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44534194/