[swift]当更改视图的高度时,是不会保留自动布局约束

标签: ios Swift
发布时间: 2017/3/6 23:07:09
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我是相当新的 iOS 应用程序设计。我对 ViewController 的storyboard (比方说conView) 容器视图和一个标签 (比方说nameLabel)。NameLabel要低于conView的 20 点的顶部空间约束有设置现在,当我以编程方式更改高度为conViewnameLabel的顶部空间约束不正确维护。我有使用此代码来更改高度。

conView.frame.size.height = 200

在这里我错过了什么?什么将以正确的方式来实现所需的输出?

解决方法 1:

更改视图的框架打破布局约束和部队要更改尺寸或位置的视图。你所要做的是视图的更新的常数的约束而不是视图的更改框架的容器。

比方说你有一个约束定义容器视图的高度。将约束绑定到视图 controller(constHeight)

constHeight.constant = 200

如果您没有为容器视图定义高度约束,更新可用的约束条件,以达到你需要的高度。

这将更新高度约束。现在我们必须告诉它,约束已被更改,它应该更新布局。

self.view.layoutIfNeeded()

希望这将帮助。

赞助商