Objective-C setNeedsUpdateConstraints vs. updateConstraintsIfNeeded

时间:2013-10-17 13:11:44

标签: objective-c constraints

我已经在这两种方法上阅读了Apple documentation,但我仍然不太明白。

有什么区别,为什么我会使用setNeedsUpdateConstraintsupdateConstraintsIfNeeded

1 个答案:

答案 0 :(得分:5)

使用setNeedsUpdateConstraints你暗示系统需要在下一个布局过程中重新计算约束,当你调用这个方法时没有实际发生任何事情,假设你只是设置一个标志。

当您调用updateConstraintsIfNeeded时,实际上是要求系统重新计算该特定执行时刻的约束,在此调用之后,约束将保留新更新的值(尽管它并不一定意味着用户界面已经更新!)。这是系统在每个布局过程中自动调用的方法,用于触发约束的重新计算。