Hatena::ブログ(Diary)

Kazzzの日記 このページをアンテナに追加 RSSフィード

2013-09-01

[][]Wants Full Screen

iPhoneアプリにて設定画面を作っていると、指定もしていないのにモーダルビューのステータスバーが半透明になると共に、ビュー全体がステータスバーに被るように表示される。ステータスバーにオーバレイするように表示されているせいか、配置しているテーブルビューのタイトルの位置もステータスバーの高さ分、上にシフトしていることが分かる。
f:id:Kazzz:20130901194416p:image:w480

これは不格好だし、ステータスバー半透明のプロパティも設定した覚えが無い、ビューやそのプロパティを調べても原因が良くわからない。ところがビューのレイアウトに関して調べていた所、表題のビューコントローラのプロパティをオフにすることで解消することが分かった。

f:id:Kazzz:20130901194414p:image:w480
コードで設定する場合は以下のようになる。

//
self.wantsFullScreenLayout = NO;
表示結果

f:id:Kazzz:20130901194417p:image:w480
テーブルビューのタイトルの位置も正常だし、ステータスバーの半透明も解除されている。(半透明は解除されたのではなく、オーバレイ表示されなくなっただけなのかもしれない)

ビューの設定とは関係の無いため、原因が判明するまでに時間がかかってしまった。
iOSの画面周りはこのように、ビューの設定を一見関係の無い、関連するコントローラ側のプロパティで制御することが割と多いので注意が必要だ。

Connection: close