ios - 约束引用常量不起作用

标签 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

最佳答案

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

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

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

关于ios - 约束引用常量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48392200/

相关文章:

ios - 配置配置文件

arrays - 使 JSON 响应符合结构和数组 Swift

ios - 如何通过在 CollectionView 中选择一个单元格来更改图像

ios - 最后一行未调用 prefetchRowsAt

ios - 如何创建具有内部框架的框架?

ios - iOS Phonegap功能第一次无法使用

ios - swift 用 2 个数组填充 UItableViewCell

ios - 在 Swift 2.0 中发出异步请求的正确方法

objective-c - 在 iPhone 应用程序中执行请求时显示加载消息的最佳用途是什么

ios - 渲染模式为 alwaysTemplate 的图像不工作