edgesForExtendedLayout
これは、iOS7 SDK で呼び出される新しいプロパティを実装することで実現できます。これを実現するには、次のコードを追加してください。
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
self.edgesForExtendedLayout = UIRectEdgeNone;
メソッドに上記を追加する必要があります-(void)viewDidLoad
。
iOS 7 では、 UIの外観をレイアウトおよびカスタマイズする方法がいくつか変更されています。ビュー コントローラーのレイアウト、色合い、フォントの変更は、アプリ内のすべてのUIKitオブジェクトに影響します。さらに、ジェスチャ レコグナイザー API の機能強化により、ジェスチャ インタラクションをより細かく制御できます。
ビュー コントローラの使用
iOS 7 では、View Controller はフルスクリーン レイアウトを使用します。同時に、iOS 7 では、View Controller がビューをレイアウトする方法をより細かく制御できます。特に、フルスクリーン レイアウトの概念が改良され、View Controller がビューの各エッジのレイアウトを指定できるようになりました。
The wantsFullScreenLayout
view controller property is deprecated in iOS 7. 現在 を指定するwantsFullScreenLayout = NO
と、View Controller が iOS 7 で実行されたときに、予期しない画面の場所にコンテンツが表示される場合があります。
ビュー コントローラがビューをレイアウトする方法を調整するためにUIViewController
、次のプロパティを提供します。
このedgesForExtendedLayout
プロパティは、UIRectEdge
なしとすべてを指定するだけでなく、四角形の 4 つのエッジのそれぞれを指定するタイプを使用します。edgesForExtendedLayout
バーの半透明性に関係なく、ビューのどのエッジを延長するかを指定するために使用します。デフォルトでは、このプロパティの値は ですUIRectEdgeAll
。
- extendedLayoutIncludesOpaqueBars
デザインで不透明なバーを使用する場合は、プロパティを
NOedgesForExtendedLayout
に設定して調整します。( のデフォルト値はNOです。)extendedLayoutIncludesOpaqueBars
extendedLayoutIncludesOpaqueBars
スクロール ビューのコンテンツ インセットを自動的に調整したくない場合は、NOautomaticallyAdjustsScrollViewInsets
に設定します。( のデフォルト値はYESです。)automaticallyAdjustsScrollViewInsets
- topLayoutGuide、bottomLayoutGuide
およびプロパティは、View Controller のビューでのバーの上端または下端の位置を示しますtopLayoutGuide
。bottomLayoutGuide
バーがビューの上部または下部に重なる必要がある場合は、Interface Builder を使用してtopLayoutGuide
、bottomLayoutGuide の下部または上部に制約を作成することにより、バーを基準にしてビューを配置できます。(バーがビューに重ならない場合、 の下部は
topLayoutGuide
ビューの上部と同じであり、 の上部はビュー
bottomLayoutGuide
の下部と同じです。) 両方のプロパティは、要求時に遅延して作成されます。
参照してください、アップルのドキュメント