質問: お世話になります uinavigationcontrollerの挙動で完全に詰まってしまいまして、質問させていだきました トップ→一覧→詳細とpushで遷移できる挙動を作っているのですが、 swipe backすると乱れてしまいます。 こんな風に ![画像の説明をここに入力](https://i.stack.imgur.com/A8vwy.png) 最初は、上記のようになったあと、どんな操作しても乱れたままだったのが、いまは、なんとか、トップに戻った時だけ、たまに乱れるって感じで収まってます。本来は下記の画像のようになるのですが。。。 ![画像の説明をここに入力](https://i.stack.imgur.com/Nm0nH.png) 以下のチケットを見たのですが、 トップページだけ解決せずでして。。。 トップは 上記のようにswitchで画面の出しわけをしてます。 hiderarchyも見たのですが、特に問題なさそうな感じで完全にお手上げです どなたかご教授いただけますと幸いです よろしくお願いいたします。 ![画像の説明をここに入力](https://i.stack.imgur.com/A8vwy.png)
回答: 「画面が乱れる」とだけ書かれあって、 画面表示関係のコードが何も書かれてないのでは 普通はアドバイスのしようがありません。 ただ、私も以前、戻りの画面遷移で、たまに画面が乱れる というトラブルに遭遇したことがあるので、その時の経験を ふまえたアドバイスをします。 `UINavigationController`を使った基本的な画面構成で 何も特別なことをしていないなら、swipe backしても 画面が乱れることはないはずです。それは`UINavigationController` のサンプルプロジェクトを作ればすぐ検証できます。 それとどう動きが違うかを調べてみることをお勧めします。 基本的には、戻り画面は遷移先へ移行する前の状態が そのまま維持され、戻り時にはそれがそのまま再表示 されるだけのはずです。 それがきちんと維持されていれば、乱れないはずです。 しかし、画面の戻り時には`viewWillAppear`や`viewDidLayout`が 動作するため、そこに何か特別な処理を書いていれば、その処理で 画面を乱すなんらかの操作が行われる可能性があります。 そこの動きをよく調べて悪影響を及ぼしていないか見極めることです。 特にswipe backの場合、戻り先の画面の`viewWillAppear`が先に動いて、 完全に画面が戻ってから戻り元の画面の`viewWillDisAppear`が 動作するはずです。そのあたりのタイミングの問題もよく 調べてみることです。