LoginSignup
1
4

More than 5 years have passed since last update.

push表示で遷移後レイアウトが上にずれる

Posted at

タイトルの通りpush表示で遷移した後にscrollviewを使ったレイアウトが
上にずれる理由がわからず悩んでいたので同じ境遇の方がいれば参考になれば幸いです

結論 isTranslucent = trueになっていた

viewでnavigationより下か上かの設定のコードが仕組まれてました。
上記が理由で今回遷移後にその作用が残っており、viewが少し上に表示されていた。
下記が挙動の詳細です。

navigationBarの上から開始

   navigationController?.navigationBar.isTranslucent = true

navigationBarよりも下から開始

navigationController?.navigationBar.isTranslucent = false

少し深掘り

下記を参考にして少し深掘りしてみる
UINavigationControllerと座標ズレの小ネタ
apple公式 isTranslucentの説明

isTranslucent = true にすると
ViewControllerのビューの描画範囲は、ナビゲーションバーで隠れる部分を含めて画面全体になります

と書かれているので、scrollviewをautoPinEdgesToSuperviewEdgesでsuperviewと同じ大きさ取ってくるようにしてたから動いたのかな?

edgesForExtendedLayoutも怪しい...
iOS11 + Xcode9.0でedgesForExtendedLayoutの値を空にしていると、UITableViewのドリルダウンでアニメーションが崩れる

深く解明していないのでもう少し調べてみます。
もしくは知見のある方教えて欲しいです🙇‍♂️

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4