タイトルの通り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のドリルダウンでアニメーションが崩れる
深く解明していないのでもう少し調べてみます。
もしくは知見のある方教えて欲しいです🙇♂️