首页 > 解决方案 > UIKit 什么时候自动移除约束

问题描述

在我的 updateLayoutConstraints 中,我添加了约束,然后我调用super.updateLayoutConstraints(). 根据 Apple 文档,这似乎没问题,但是 UIKit 会在调用此函数之前自动删除约束吗?

我发现这工作正常,但我担心我只是重新添加相同类型的约束。

UIKit 什么时候会自动删除约束?

标签: iosuikitnslayoutconstraint

解决方案


约束用于布局用户界面元素,因此在正常情况下它不会被删除。

以下是约束被自动删除或约束求解器不满足的几种情况:

  • 当约束附加到的所有视图都被删除时
  • 如果存在冲突的约束,您会看到这样的错误

    无法同时满足约束,将尝试通过打破约束来恢复

我通常在视图初始化时添加约束,例如:

  • viewDidLoadUIViewController
  • init那是UIView子类的,没有故事板xib
  • awakeFromNib那是UIView子类的,并且确实有故事板

推荐阅读