Contraint参考常量不起作用

时间:2018-01-23 00:04:54

标签: ios swift

我已经设置了一个对我想要修改常量值的约束的引用。出于某种原因,当我尝试修改约束的常量值时,它不起作用。

    var containerViewBottomAnchor: NSLayoutConstraint?

    func setupToolBar() {
       ...
       containerViewBottomAnchor = containerView.bottomAnchor.constraint(equalTo: view.bottomAnchor)
       containerViewBottomAnchor?.isActive = true


    }

    func modify(){
       containerViewBottomAnchor?.constant = -500
    }

但是当我直接设置常量时它会起作用

containerView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -500).isActive = true

1 个答案:

答案 0 :(得分:0)

我认为你必须在约束更新后调用layoutIfNeeded():

func modify() {
    containerViewBottomAnchor?.constant = -500
    containerView.layoutIfNeeded()
}

否则约束会更新,但视图不会更改。