私は、目標が何か対して私が現在起こっていることを示すテストプロジェクトを作りました。左のGIFは、終わりの外観が欲しいものを正確に示しています。従来の単一のビュー階層で構成されています。私はピンクのビューan embedded/contained viewでこれを達成する必要があります。これまでの私の試みは、私は右のGIFにしか通じていませんでした。本質的にサイズの変更されたビューブレークアニメーションを組み込む
青いサブビューは高さを変更し、すべての接続された垂直方向の制約のために装置全体が新しい固有サイズを取得します。期待どおり、これは私の実際のアプリの単純化ですが、私はそれはすべての重要なビットがあると思います。
奇妙です、私が見る主なもの:
:ここに示されているよう
translatesAutoresizingMaskIntoConstraints
がfalseに設定されています。その後、 質問:**私は本質的にサイズや含まれるビューのサイズ変更がある場合、影響を受けるすべてのレイアウトの変更が(適切に)アニメーション化する得るために、私の設定について何を変更する必要がありますか? **
編集: が質問を投稿しているので、私は手動ビューコントローラ封じ込め戦略を試してみました、と私は最終的にのために良い兆候であるストーリーボード技術、のようにまったく同じ結果を得たしようとしたマニュアル埋め込みプラットフォーム。階層全体ではビューが1つ少なくなりましたが、違いは見られませんでした。
編集:Bounty and project 私は注目を集めるために100ポイントの賞金を追加しました。サンプルプロジェクトをthis github repoにアップロードしました。見てみな!
ありがとうサム!私はこれをバブリングする必要がありました(私の実際のプロジェクトでは、いくつかの封じ込めレベルがあります)。これをUIVC拡張モジュールにラップしました: 'func bubbleLayoutIfNeeded(){ view.layoutIfNeeded() parent?.bubbleLayoutIfNeeded() } –