带有 AutoLayout 的 UIScrollView 灵活布局

Posted

技术标签:

【中文标题】带有 AutoLayout 的 UIScrollView 灵活布局【英文标题】:UIScrollView flexible layouts with AutoLayout 【发布时间】:2013-10-09 08:22:04 【问题描述】:

我正在努力实现以下目标:

红色视图是固定高度,固定在屏幕顶部。蓝色视图是固定高度,固定在屏幕底部。绿色视图没有定义的高度,应该根据可用房间扩展/收缩(宽度可以保持不变)。

这在 3.5 英寸和 4 英寸屏幕上效果很好,直到我将 UIScrollView 添加到组合中。添加 UIScrollView 后,绿色视图将始终保持其 4 英寸屏幕尺寸高度,而不是在 3.5 英寸屏幕上收缩。

它最终看起来像这样:

我了解 UIScrollView 在 AutoLayout 中的处理方式不同,以便允许滚动,但我不知道如何使用它来创建所需的布局。

【问题讨论】:

请添加带有约束条件的屏幕截图 【参考方案1】:

嗯,草皮法。我花了一整天的时间来解决这个问题,在将它发布到 *** 后 10 分钟我弄明白了。

我清除了所有约束,并让 Interface Builder 自动添加缺少的约束。然后我将蓝色视图的底部垂直间距固定到底部布局指南,并将绿色视图的高度约束设置为“小于或等于”而不是“等于”。

【讨论】:

以上是关于带有 AutoLayout 的 UIScrollView 灵活布局的主要内容,如果未能解决你的问题,请参考以下文章

带有约束的 iOS 6.0 AutoLayout 问题:旋转时子视图消失

带有 AutoLayout 的 UIScrollView 内的 UITableView 动态内容大小高度

将带有 ScrollView 和 AutoLayout 的 UIViewController 添加到另一个 UIViewController

Autolayout 不适用于带有 Storyboard 的 NSSplitView 和 NSPageController。这是苹果虫吗?

使用 Swift、autolayout 和 SnapKit 使带有 UIImageView 的 UIScrollView 自动缩放内容

带有砌体的iOS AutoLayout,未能将子底部设置为父底部