iOS7ではStatusBar、NavigationBarとアプリのViewがオーバラップして表示されるため、Xcode5のstoryboardで配置したViewの位置がiOS6/7で違ってしまう。
ViewのframeのルートViewに対するframe.origin.yの値が0の場合、iOS6ではStatusBar、NavigationBarの下に配置されるが、iOS7ではスクリーンの左上に配置される。
autolayoutの場合は調整してくれるようだが、そうでない場合は調整が必要になる。
Interface BuilderのサイズインスペクタにあるiOS6/7 deltaで行うことができる。
Xcode5ではこまめ表示/非表示ができるので、上のキャプチャーの少し上にあるViewのhideをクリックすると、この部分がすっかり隠れてしまいます。
iPhoneのUITableViewでは、iOS6と同じ設定だとiOS7ではViewの上にNavigationBar分の空きができる。この場合はiOS7の場合にcontentInsetのtopを-44にするとiOS6と同じレイアウトになる。
0 件のコメント:
コメントを投稿