【发布时间】:2019-02-18 06:11:18
【问题描述】:
在我的 updateLayoutConstraints 中,我正在添加约束,然后我调用 super.updateLayoutConstraints()。根据 Apple 文档,这似乎没问题,但是 UIKit 在调用此函数之前会自动删除约束吗?
我发现这可以正常工作,但我担心我只是重新添加相同类型的约束。
UIKit 什么时候会自动移除约束?
【问题讨论】:
标签: ios uikit nslayoutconstraint
在我的 updateLayoutConstraints 中,我正在添加约束,然后我调用 super.updateLayoutConstraints()。根据 Apple 文档,这似乎没问题,但是 UIKit 在调用此函数之前会自动删除约束吗?
我发现这可以正常工作,但我担心我只是重新添加相同类型的约束。
UIKit 什么时候会自动移除约束?
【问题讨论】:
标签: ios uikit nslayoutconstraint
约束用于布局用户界面元素,因此在正常情况下不会被删除。
以下几种情况会自动删除约束或约束求解器不满足约束:
无法同时满足约束,将尝试通过打破约束来恢复
我一般是在视图初始化的时候加上约束,比如:
viewDidLoad 的UIViewController
init of UIView 这是子类,没有情节提要 xibawakeFromNib of UIView 那是子类并且确实有故事板【讨论】:
No updateConstraints 不会删除您添加的任何约束。如果你想避免添加重复的约束,你需要设置一个标志或者保留对你已经创建的约束的引用。
【讨论】: