如何触发所有自动布局约束的更新?

Ján*_*nos 15 ios autolayout

我以编程方式修改了一个自动布局约束.它对某个视图生效,但与该视图的其他约束绑定的其他视图不会更改其位置.是否有" updateAllConstraints "方法?

And*_*rea 34

在要更新的视图上调用这两个方法:

-setNeedsLayout
-layoutIfNeeded
Run Code Online (Sandbox Code Playgroud)

第一个对布局系统说这个视图需要布局,因为它有一些变化,一切都应该重新计算.第二个强制布局系统现在运行,布局系统在运行时的特定时间触发,用这种方法你会说:"现在就做".


Ján*_*nos 2

问题是约束设置不正确,在这种情况下,setNeedsLayout 或 updateConstraintsIfNeeded 都无法提供帮助。