如何通过编程方式更改某些约束参数?

时间:2018-04-19 11:04:48

标签: swift autolayout constraints

我可以将顶部空间改为"约束,以编程方式等于参数?

等于顶部的空间是15张照片。我可以用100改变它吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

是的,将约束连接到插座,如:

@IBOutlet var constraintTop: NSLayoutConstraint!

在故事板中选择约束并连接它,就像连接任何其他UI元素一样。

  1. 选择ViewController,然后右键单击拖动到约束
    1

  2. 释放点击并选择contraintTop
    2

  3. 然后您可以通过编程方式更新它:

    constraintTop.constant = 100
    self.view.layoutIfNeeded()
    

    注意:layoutIfNeeded()会在self.view上调用self.view,因为约束由myView拥有。
    在嵌套视图中,作为优化,您只能布局需要更新的视图 所以假设这个约束在其他视图中,比如myView.layoutIfNeeded(),那么你会"users": { ".read": true, ".indexOn": ["profile/name"], "$uid": { ".read": "auth != null", ".write": "$uid === auth.uid && !data.exists()", "profile": { "birthday": { ".write": "$uid === auth.uid" }, "name": { ".write": "$uid === auth.uid" }, "banned": { ".write": "root.child('admins').child(auth.uid).exists()" } } } }