状況
RootViewController->DataViewControllerのスワイプページで、上にナビゲーションを付けた。
Navigation
|- RootView
|- DataView
RootViewが、スライダーの"台"的部分、DataViewが"個々のスライド"のコントローラ。両者がModelControllerを介してつながっている。更にNavigationControllerがRootViewControllerとつながっている。
Navigationは上部にページタイトル「スライダー」を表示させているのみ。
これはXcodeで新規プロジェクト作成時に「Page Based Application」を選択して作られるやつのほぼそのまま。
現象
シミュレータ実行すると、初期表示画面をタップしたらナビゲーションの幅分画面が上にずれる。
↑スライドした後も青枠のヘッダーを表示させたいのだが、初回のタップで消えてしまう。
解決策
Xcode上で、RootViewController - AttributeInspector - ViewController - Extend Edgesで「Under Top Bar」のチェックを外す。
ソース
こちらに置きました。
https://github.com/hanoopy/SliderSample
その他
- Xcodeでやらなくてもソースでできると思う。
- 画像は写真ACから使わせてもらいました。 http://www.photo-ac.com/