iOS 7では、UIのレイアウトと外観をカスタマイズする方法にいくつかの変更が加えられています。ビューコントローラーのレイアウト、ティントカラー、フォントの変更は、アプリ内のすべてのUIKitオブジェクトに影響します。さらに、ジェスチャレコグナイザAPIの機能強化により、ジェスチャ操作をより細かく制御できます。
ビューコントローラーの使用
iOS 7では、ビューコントローラーは全画面レイアウトを使用します。同時に、iOS 7では、ビューコントローラーがビューをレイアウトする方法をより詳細に制御できます。特に、フルスクリーンレイアウトの概念は、ビューコントローラーがビューの各エッジのレイアウトを指定できるように改良されました。
wantsFullScreenLayout
あなたが現在指定した場合、ビューコントローラのプロパティは、iOS 7で廃止されましたwantsFullScreenLayout = NO
、それはiOSの7で実行したときに、ビューコントローラは、予期しない画面位置でそのコンテンツを表示することができます。
ビューコントローラーがビューをレイアウトする方法を調整するにUIViewController
は、次のプロパティを提供します。
edgesForExtendedLayout
プロパティは使用UIRectEdge
なし、すべてを指定しないことに加えて、矩形の4辺のそれぞれを指定するタイプを、。edgesForExtendedLayout
バーの半透明性に関係なく、ビューのどのエッジを拡張するかを指定するために使用します。デフォルトでは、このプロパティの値はUIRectEdgeAll
です。
- extendedLayoutIncludesOpaqueBars
デザインで不透明なバーを使用する場合edgesForExtendedLayout
は、extendedLayoutIncludesOpaqueBars
プロパティ
もNOに設定して調整します。(のデフォルト値extendedLayoutIncludesOpaqueBars
はNOです。)
- automaticallyAdjustsScrollViewInsets
スクロールビューのコンテンツインセットを自動的に調整しない場合は、NOに設定automaticallyAdjustsScrollViewInsets
します。(のデフォルト値はYESです。)automaticallyAdjustsScrollViewInsets
- topLayoutGuide、bottomLayoutGuide
topLayoutGuide
及びbottomLayoutGuide
特性は、ビューコントローラのビューの上部または下部のバーのエッジの位置を示します。バーがビューの上部または下部に重なる場合、Interface Builderを使用topLayoutGuide
して、bottomLayoutGuideの下部または上部に制約を作成することにより、バーを基準にビューを配置できます。(バーがビューに重ならない場合、の下部はビュー
topLayoutGuide
の上部と同じで、上部はビュー
bottomLayoutGuide
の下部と同じです。)要求されたときに両方のプロパティが遅延して作成されます。