内容の保証はできません。


/System/Library/Frameworks/UIKit.framework

クラス UISplitViewController

NSObject
  |
  +--UIResponder
      |
      +--UIViewController
          |
          +--UISplitViewController

概要

UISplitViewControllerクラスは、並んでいる2つのビューのプレゼンテーションを管理するコンテナビューコントローラです.あなたは、ビューコントローラが左側にアイテムのリストを示し、右側に選択されたアイテムの詳細を示す、マスターディテールインタフェースを実装する為にこのクラスを使用します.スプリットビューコントローラはiPadデバイス上でもっぱら使用されます.

このクラスのインスタンスを生成、初期化した後、あなたは2つのビューコントローラをviewControllersプロパティに割り当てる必要があります.スプリットビューコントローラは、独自の有意なインタフェースを持っていません.このクラスの役割は、2つのチルドビューコントローラのプレゼンテーションを調整し、異なるオリエンテーションの間での遷移を管理することです.

スプリットビューコントローラは、現在表示されているチルドビューコントローラと同じインタフェースオリエンテーションをサポートします.ビューコントローラはどちらも横向きに表示されますが、ディテールビューコントローラのみ、縦向きに表示されます.オリエンテーション間の遷移のときに、スプリットビューコントローラは、隠されたビューコントローラのポップオーバーの表示を調整するために、そのdelegateオブジェクトにメッセージを送信します.このデリゲートオブジェクトのメソッドの詳細については、UISplitViewControllerDelegateプロトコルリファレンスを参照してください.

注意

スプリットビューコントローラは、あなたがそれに割り当てるカスタムビューコントローラ間のやりと りを管理するための固有のサポートを提供していません.それを行う為の最善の方法を決定する責任があなたには あるということです.しかし、デリゲーショ ンのパターンがマスターディテールインタフェースでよく動作します.このようなパターンを実装するために、あなたのマスタービューコントローラは、選択されたアイテムが変更されるかあるいは、他の任意の関連イベントが発生するたびに、カスタムデリゲートオブジェクトにメッセージを送信します.ディテールビューコントローラはマスターのデリゲートとして自身を割り当て、その内容を更新するために関連するメッセージを使用します.

チルドビューコントローラへのメッセージ転送

スプリットビューコントローラは、アプリケーションウインドウとそのチルドビューコントローラの間にそれ自身を介在させます.その結果、表示されているビューコントローラに送られる全てのメッセージはスプリットビューコントローラを介さなければならないことになります.これは、一般的にあなたが期待するように動作し、メッセージの流れが比較的直感的に認識される必要があります.例えば、ビューの外観と外観の無いメッセージは、実際に画面上に表示するチルドビューコントローラに対応する時にのみ送信されます.したがって、スプリットビューコントローラが初めに縦向きで表示された時に、最初に示されたビューコントローラのみのviewWillAppear:メソッドとviewDidAppear:メソッドを呼び出します.提示されたビューコントローラが使用するポップオーバーは、ポップオーバーが表示されるまでか、あるいは、スプリットビューコントローラが横向きに回転するまでこれらのメッセージを受信しません.

タスク

チルドビューコントローラの管理

viewControllers property

デリゲートオブジェクトへのアクセス

delegate property

プロパティ

viewControllers

レシーバによって管理されるビューコントローラの配列を返す.

@property(nonatomic, copy) NSArray *viewControllers

delegate

スプリットビューコントローラのメッセージを受信させるためのデリゲートを指定する.

@property(nonatomic, assign) id <UISplitViewControllerDelegate> delegate


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-10-24 (日) 17:14:27 (2522d)