20
ステータスバーとナビゲーションバーがiOS 7のビューの境界の上に表示される
最近、Xcode 5 DPをダウンロードしてiOS 7でアプリをテストしました。最初に気づき、確認したのは、ステータスバーとナビゲーションバーに合わせてビューの境界が常にサイズ変更されるわけではないということです。 ではviewDidLayoutSubviews、ビューの境界を印刷します。 {{0、0}、{320、568}} これにより、コンテンツがナビゲーションバーとステータスバーの下に表示されます。 メイン画面の高さを取得し、ステータスバーの高さとナビゲーションバーの高さを差し引くことで、自分で高さを計算できることはわかっていますが、これは不要な余分な作業のようです。 この問題を解決するにはどうすればよいですか? 更新: この特定の問題の解決策を見つけました。ナビゲーションバーの半透明プロパティをNOに設定します。 self.navigationController.navigationBar.translucent = NO; これにより、ビューがナビゲーションバーとステータスバーの下にフレーム化されなくなります。 ただし、ナビゲーションバーを半透明にしたい場合の解決策は見つかりませんでした。たとえば、写真を全画面で表示する場合、ナビゲーションバーを半透明にして、その下にビューをフレームで囲みます。それは機能しますが、ナビゲーションバーの表示/非表示を切り替えると、さらに奇妙な結果が発生しました。最初のサブビュー(UIScrollView)は、境界yの原点を毎回変更します。