我对iOS应用程序设计还不熟悉。我在故事板ViewController上有一个容器视图(让我们说 conView )和一个Label(比如说 nameLabel )。我已将 nameLabel 的顶部空间约束设置为 conView 下方20点。现在,当我以编程方式更改 conView 的高度时, nameLabel 的顶部空间约束未得到正确维护。我用这段代码来改变高度。
conView.frame.size.height = 200
我在这里缺少什么?实现所需输出的正确方法是什么?
答案 0 :(得分:2)
更改视图的框架会破坏布局约束并强制视图更改尺寸或位置。您需要做的是更新约束的常量,而不是更改容器视图的框架。
假设您有一个约束来定义容器视图的高度。将约束绑定到视图控制器(constHeight)
constHeight.constant = 200
如果没有为容器视图定义高度约束,请更新可用约束以达到所需的高度。
这将更新高度约束。现在我们必须告诉它,约束已经改变,它应该更新布局。
self.view.layoutIfNeeded()
希望这会有所帮助。