デフォルトのマスター詳細テンプレートを使用して、シンプルなiOS 7アプリを作成しました。
MasterViewController.m
、viewDidAppear
メソッドでは、
self.navigationController.navigationBar.frame.size.height
self.navigationController.navigationBar.frame.Origin.y
それに応じて44と20を受け取りました。私が読んだことから、iOS 7のナビゲーションバーは64ポイントの高さであり、0ポイントから始まり、ステータスバーの下にあるはずなので、これは奇妙に思えます。私が読んだのは
ステータスバーは透明なので、その背後のビューは透けて見えます
アプリがバーの背景としてカスタム画像を使用している場合、ステータスバーの背後に広がるように「より高い」画像を提供する必要があります。ナビゲーションバーの高さが44ポイント(88ピクセル)から64ポイント(128ピクセル)に変更されます。
IOS 7のプログラミングの本、棒の位置と棒のメトリックのセクションからこの答えを得ました
ナビゲーションバーまたはツールバー、または検索バー(この章で前述)が画面の上部を占める場合、iOS 7の規則では、透明なステータスバーの下に重なるように高さを増やす必要があります。これを可能にするために、iOS 7ではバー位置の概念を導入しています。
バーが画面の上部にあることと、そのビューを含むことを指定します。この位置のバーは、背景を上方に引き伸ばして描画し、背景コンテンツがステータスバーに表示されるようにします。 iOS 7.0以降で利用可能。
ナビゲーションバーとステータスバーには違いがあります。紛らわしい部分は、画面上部の1つのしっかりした機能のように見えますが、実際には領域を2つの異なるビューに分割できることです。ステータスバーとナビゲーションバー。ステータスバーの範囲はy = 0〜y = 20ポイントで、ナビゲーションバーの範囲はy = 20〜y = 64ポイントです。そのため、ナビゲーションバー(ページタイトルとナビゲーションボタンが配置される場所)の高さは44ポイントですが、ステータスバーとナビゲーションバーの合計の高さは64ポイントです。
IOS7のその他のサイジングの特徴に加えて、この質問に対処する優れたリソースを次に示します。 http://ivomynttinen.com/blog/the-ios-7-design-cheat-sheet/