我以编程方式修改了一个自动布局约束。它对某个视图生效,但与该视图的其他约束绑定的其他视图不会更改其位置。是否有“ updateAllConstraints ”方法?
答案 0 :(得分:33)
在要更新的视图上调用这两种方法:
-setNeedsLayout
-layoutIfNeeded
第一个对布局系统说这个视图需要布局,因为它有一些变化,一切都应该重新计算。第二个强制布局系统现在运行,布局系统在运行时的特定时间触发,用这种方法你会说:“现在就做”。
答案 1 :(得分:3)
是UIView上有一个名为- (void)updateConstraintsIfNeeded
但我不认为这是你的问题
答案 2 :(得分:2)
问题是没有正确设置约束,在这种情况下,没有setNeedsLayout或updateConstraintsIfNeeded可以提供帮助。
答案 3 :(得分:-1)
遇到此主题的人,并且正在寻找在菜单中找到它的位置。
我发现的最好的是:
选择要“弹出”回约束的项目
顶级菜单:编辑/更新框架(或/)快捷方式:命令+选项+ =
希望这会有所帮助