同时动画两个约束 - 订单有关系吗?

时间:2013-03-10 21:49:18

标签: ios autolayout

我有一个嵌套视图,我在某个动作上完全动画出框架。为此,我更新了动画块中约束的常量。

[UIView animateWithDuration:.5 animations:^{
    self.categoriesTableViewConstraintToBottom.constant = [UIScreen mainScreen].bounds.size.height;
    self.categoriesTableViewConstraintToTop.constant = [UIScreen mainScreen].bounds.size.height;
    [self.view layoutSubviews];
}, completion: nil];

基本上,这两个约束只是将它绑定到父视图的顶部和底部(全屏)。显然我不能改变其中一个约束而不改变另一个约束,否则布局是不可满足的。

这里奇怪的部分是我必须按照上面显示的顺序更改这些。如果我以其他顺序更新常量,则会引发“满足”错误。

所以:

  1. 为什么订单很重要?
  2. 我们是否应该在更改约束时删除约束,如果它们发生冲突直到我们更新所有约束条件? (是否出于某种原因立即对其进行评估,而不是等待layoutSubviewslayoutIfNeeded

0 个答案:

没有答案