PageViewControllerでNavigationbar(またはStatusbar)の高さ分ずれる
はじめに
PageViewControllerを使っていて、なぜか遷移した直後の画面でNavigationbarかStatusbar分高さがずれるという現象に出会ったので そのことについて記します。
現象
PageViewControllerを利用した画面にUINavigationbarからpushViewControllerした際に、下図のようにNavigationbar分ずれる現象。(画面上部に合わせているはずなのに) また、ちょっと画面を触るとそのずれが治ります。
調べてみると下記の条件がある模様です。 1. UINavigationControllerの子供 2. PageViewControllerのTransition Type が Scroll
解決方法
原因は正直よくわかっていませんが、Storyboard上でPageViewControllerのAdjust Scroll View Insetsのチェックを外せば解決します。コードからでも良いと思います。
UIPageViewControllerをUINavigationControllerにいれたらナビゲーションバー部分に潜り込まなくなった件を参考にさせていただきました。また、UINavigationControllerと領域拡張に潜む罠も参考になると思います。