我已经设置了对要修改其常量值的约束的引用。由于某种原因,当我尝试修改约束的常量值时,它不起作用。
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
最佳答案
我认为你必须在约束更新后调用layoutIfNeeded():
func modify() {
containerViewBottomAnchor?.constant = -500
containerView.layoutIfNeeded()
}
否则约束会更新,但 View 不会更改。
关于ios - 约束引用常量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48392200/