我为strong
文件中的UILabel
和它的出口创建了.xib
约束。
在我的代码中,我设置了self.constraint.active = NO
,但在应用程序加载后,当我打开Debug View Hierarchy
时,相同的约束处于活动状态。
我尝试在viewDidLoad
,updateViewConstraints
和viewDidLayoutSubviews
设置它无效。
我还创建了一个NSLayoutConstraint
子类,覆盖了setActive:
方法并在其中加了一个断点,但只有我的代码触发了它。
答案 0 :(得分:2)
在玩限制时,我建议尽可能晚地进行。根据您的情况,可能早在viewDidLoad
。
无论您最终做什么,都可以通过layoutIfNeeded
来强制刷新。
如果我没有弄错的话,您可以禁用约束,然后强制更新约束/布局(updateConstraints
setNeedsLayout
),然后调用layoutIfNeeded
。但我认为你只需要修改你的约束,这样做会自动设置你的视图,只要它有时间或你拨打layoutIfNeeded
时就重新开始。
无论哪种方式,只尝试这两行,否则,添加我在括号之间放置的那些。
我不会撒谎,有时约束是iOS的一部分,部分技能,部分黑魔法。