哪些操作会使约束无效?

an0*_*an0 12 ios autolayout

UIViewupdateConstraints方法有一张纸条:

作为约束更新阶段的一部分,您不得使任何约束无效.作为约束更新的一部分,您也不得调用布局或绘图阶段.

我不清楚什么会使约束无效.

an0*_*an0 8

通过一些实验,我发现简单地添加,删除或编辑约束不会自动setNeedsUpdateConstraints被调用.事实上,我找不到任何方法可以setNeedsUpdateConstraints被系统自动调用.连同我的观察updateConstraints不会被调用setNeedsUpdateConstraints或没有invalidateIntrinsicContentSize被调用,我认为使任何约束无效的唯一有意义的方法是通过调用setNeedsUpdateConstraintsinvalidateIntrinsicContentSize我自己.因此,问题文章中的说明意味着:

您不能在updateConstraints中调用[self setNeedsUpdateConstraints][self invalidateIntrinsicContentSize].