0

UINavigationController から継承する SubNav というサブクラスがあります。私がそれを次のようにすると:

window.rootViewController = subNav

ステータスバーの下に NavigationBar が表示されます。しかし、実際には、その位置を 0,0 にしたいのです。ステータス バー 0,20 の下ではありません。

しかし、私が見た App Store の ios7 で設計されたアプリのほとんどは、それらの UINavigationBar がステータス バーの下にあります。

SubNav : UINavigationController

下手な英語で申し訳ありませんが、数日間混乱しています。

4

1 に答える 1

0

iOS 7 では、ステータス バーは実際には下層のバーまたはビュー コントローラー ビューの上のレイヤーにあります。基になるビュー コントローラーがスクロール ビュー ベースのビュー (実際のスクロール ビュー、テーブル ビュー、コレクション ビューなど) を提示している場合、フレームワークは追加のオフセットを自動的に挿入します。topLayoutGuide および bottomLayoutGuide プロパティを調べます。

使用しているビュー コントローラーの種類については言及していませんが、コレクション ビュー、テーブル ビュー、またはスクロール ビュー ベースのビュー コントローラーを使用していると仮定すると、この自動オフセット動作が表示されます。

繰り返しますが、その場合、できることの 1 つはプロパティを設定することです。

automaticallyAdjustsScrollViewInsets = NO

これを行うと、基になるビューが 0,0 の原点に配置されます

それが必要な場所でない場合は、標準的な方法でフレームを調整する必要があります。

于 2013-10-20T19:01:08.050 に答える