swift - Xcode - ScrollView - 自动布局

标签 swift xcode swift3

我正在使用 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 大于屏幕?

Story Board

屏幕在横向模式下旋转的模拟器;即使高度 >= 400,红色 View 也太小了。没有滚动

enter image description here

最佳答案

观察:

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

建议:

相应地更改 scrollViewcontentSize 以适应约束的实现。

关于swift - Xcode - ScrollView - 自动布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44534194/

相关文章:

swift3 - 在 Swift 3 中向 UISwitch 添加选择器会出现 'Use of unresolved identifier' 错误

generics - Swift 3,元类型问题中的 ".self"是否真的正确?

ios - 单向一对多的核心数据关系

swift - 在类型中找不到枚举大小写

swift - 固定中心的动画 UILabel 宽度

ios - Xcode 11.2.1 错误 - Swift 5.1.2 编译器无法导入使用 Swift 5.1 编译的模块

objective-c - 如何从 macOS 访问已插入 iPhone 的照片?

ios - 如何在 Swift 1.0 中覆盖 UIView 初始值设定项

ios - 解析 INSendPaymentIntent 的参数失败

ios - 物理体的轮廓通过我的 swift SpriteKit 游戏中的所有其他节点显示