运行时约束更改

时间:2017-02-06 06:40:47

标签: swift autolayout

我的UIViewController包含UITableViewUIViewUITableView高于UIView。 当UIViewhidden时,UITableView应该贴在UIViewController的底部。 我该如何自动完成?

When UIView is not hidden.

When UIView is hidden.

UIViewhidden时,UITableView应该贴在UIViewController的底部。

1 个答案:

答案 0 :(得分:1)

按照以下步骤设置自动布局约束:

1) bottomView

  • 将关于父视图的leadingtrailingbottomheight约束应用于 bottomView

2) UITableView

  • 相对于父视图,将leadingtrailingtop约束应用于tableView。

  • bottom约束应用于tableview,其中 bottomView 位于tableview下方。

3)从情节提要的约束层次结构中选择 bottomView height约束,然后选择它:

enter image description here

@IBOutlet weak var heightConstraint: NSLayoutConstraint!

4)在隐藏 bottomView 的方法中,只需将其高度约束的值更改为零,如:

bottomView.isHidden = true

heightConstraint.constant = 0
view.updateConstraintsIfNeeded()

希望这有助于你