3

特定のアクションでフレームから完全にアニメーション化するネストされたビューがあります。これを行うには、アニメーション ブロックの制約の定数を更新します。

[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];

基本的に、2 つの制約は親ビュー (全画面表示) の上部と下部に関連付けるだけです。明らかに、これらの制約の 1 つを変更せずに他の制約を変更することはできません。そうしないと、レイアウトが満足できなくなります。

ここで奇妙なのは、上に示した順序でこれらを変更する必要があることです。定数を他の順序で更新すると、「満足」エラーがスローされます。

そう:

  1. なぜ順番が重要なのですか?
  2. すべての制約を更新するまで競合する場合、技術的に制約を変更しながら削除する必要がありますか? (またはを待つのではなく、何らかの理由ですぐに評価されますlayoutSubviewslayoutIfNeeded
4

0 に答える 0