LoginSignup
5
5

More than 5 years have passed since last update.

【Xcode】スワイプページの上部がずれる場合は「Under Top Bar」のチェックを外す

Posted at

状況

RootViewController->DataViewControllerのスワイプページで、上にナビゲーションを付けた。
Navigation
 |- RootView
  |- DataView

b5ed5975efa0dfaf3429fb63ae5bf450.png

RootViewが、スライダーの"台"的部分、DataViewが"個々のスライド"のコントローラ。両者がModelControllerを介してつながっている。更にNavigationControllerがRootViewControllerとつながっている。
Navigationは上部にページタイトル「スライダー」を表示させているのみ。

これはXcodeで新規プロジェクト作成時に「Page Based Application」を選択して作られるやつのほぼそのまま。
ダイアログ

現象

シミュレータ実行すると、初期表示画面をタップしたらナビゲーションの幅分画面が上にずれる。
ずれる
↑スライドした後も青枠のヘッダーを表示させたいのだが、初回のタップで消えてしまう。

解決策

Xcode上で、RootViewController - AttributeInspector - ViewController - Extend Edgesで「Under Top Bar」のチェックを外す。
889d2249bf35977ff85f53b40c684904.png

青枠が表示され続けるようになりました。
ずれない

ソース

こちらに置きました。
https://github.com/hanoopy/SliderSample

その他

  • Xcodeでやらなくてもソースでできると思う。
  • 画像は写真ACから使わせてもらいました。 http://www.photo-ac.com/
5
5
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
5
5