UIView的updateConstraints方法有一张纸条:
作为约束更新阶段的一部分,您不得使任何约束无效.作为约束更新的一部分,您也不得调用布局或绘图阶段.
我不清楚什么会使约束无效.
通过一些实验,我发现简单地添加,删除或编辑约束不会自动setNeedsUpdateConstraints被调用.事实上,我找不到任何方法可以setNeedsUpdateConstraints被系统自动调用.连同我的观察updateConstraints不会被调用setNeedsUpdateConstraints或没有invalidateIntrinsicContentSize被调用,我认为使任何约束无效的唯一有意义的方法是通过调用setNeedsUpdateConstraints或invalidateIntrinsicContentSize我自己.因此,问题文章中的说明意味着:
您不能在updateConstraints中调用[self setNeedsUpdateConstraints]或[self invalidateIntrinsicContentSize].
| 归档时间: |
|
| 查看次数: |
3504 次 |
| 最近记录: |