在我的updateLayoutConstraints中,添加约束,然后调用super.updateLayoutConstraints()
。根据Apple文档,这似乎还可以,但是UIKit是否会在调用此函数之前自动删除约束?
我发现这行得通,但是我担心我只是重新添加了相同类型的约束。
UIKit何时自动删除约束?不是吗?
答案 0 :(得分:1)
约束是用于布局用户界面元素的,因此在正常情况下不会被删除。
以下是自动删除约束或约束求解器不满足的情况:
无法同时满足约束条件,将尝试通过打破约束条件进行恢复
我通常在初始化视图时添加约束,例如:
viewDidLoad
UIViewController
中的init
是子类,没有情节提要xib UIView
中的awakeFromNib
是子类,并且确实有故事板答案 1 :(得分:0)
否updateConstraints
不会删除您添加的任何约束。如果要避免添加重复的约束,则需要设置一个标志或保留对已经创建的约束的引用。