我已经设置了一个对我想要修改常量值的约束的引用。出于某种原因,当我尝试修改约束的常量值时,它不起作用。
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
答案 0 :(得分:0)
我认为你必须在约束更新后调用layoutIfNeeded():
func modify() {
containerViewBottomAnchor?.constant = -500
containerView.layoutIfNeeded()
}
否则约束会更新,但视图不会更改。