【发布时间】:2015-03-21 05:18:08
【问题描述】:
我陷入了依赖自动布局的陷阱。我目前有一个带有大量 UIView 的 ViewController,并意识到它们在较小的设备(iPhone 4s 和 5)上会失真。
是否可以在 Autolayout 中设置相对于设备大小的约束。
例如,我有一个 UIView 与其他几个 UIViews 对齐的边缘。我想将那个 UIView 的 Autolayout 高度更改为设备高度的一半。
【问题讨论】:
-
“我掉进了依赖 Autolayout 的陷阱”——这不是陷阱,如果你花时间好好学习的话,它是一项非常有用且强大的技术。
-
我强烈建议学习如何以编程方式处理约束。它非常强大,是迄今为止我最喜欢的布局视图的方式(并不是我在抨击故事板,它们也很棒)。
-
根据我下面的回答 - 我尽可能使用大小类约束,但有些事情很难实现(但值得简化以找到一个好的方法),所以我开发了一种以编程方式调整一个或两个约束(IBOutletted)的方法,如图所示。有些人发誓严格以编程方式管理自动布局,但可能首先从 Interface Builder 开始并真正熟悉它是一个更好的起点。
标签: objective-c swift autolayout