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


/System/Library/frameWorks/UIKit.framework

クラス UINavigationDelegate

NSObject
  |
  +--UIResponder
      |
      +--UIViewController
           |
           +--UINavigationController
                |
                +--UINavigationBarDelegate

概要

UINavigationControllerクラスは、オブジェクトの階層を掘り下げて全ての外観を管理するナビゲーションバーのための特殊なコントローラです。アプリケーションに提供されたビューコントローラを使用して、ナビゲーションバーの設定やビューを描画することが可能です。各ビューコントローラは、ナビゲーションバーの左・中央・右に設置することの出来るナビゲーションアイテムを持っています。

ナビゲーションコントローラはナビゲーションバーが管理するナビゲーションアイテムと同じだけのビューコントローラのスタックを管理しています。ナビゲーションコントローラにビューコントローラをプッシュまたはポップすることが可能です。

UINavigationControllerクラスはUIViewControllerクラスを継承しているので、そのインスタンスはビュープロパティも持っています。ナビゲーションコントローラのビューは、ナビゲーションバーとビュー階層の中のトップのビューコントローラのビューを含んでいます。そのため、ビューを表示させるためにはウインドウにナビゲーションコントローラが管理するビューをアタッチする必要があります。

ただし、ナビゲーションコントローラでナビゲーションバーを実装するには、必ずナビゲーションバーの辞書にアクセスする必要があります。または、ビューコントローラの外観を表現するナビゲーションアイテムにアクセスする方法もあります。

ナビゲーションツールバーのコントローラにナビゲーションコントローラを追加することも出来ます。さらに、他のビューコントローラのトップのモーダルビューとして表すことができます。この場合、ナビゲーションコントローラがユーザに提示された時にトップのビューコントローラのビューが表示されます。また、ナビゲーションバーは既存のナビゲーションバーをカバーしています。

ビューコントローラをプッシュまたはポップした時に、ナビゲーションコントローラはナビゲーションバーとビューを適切にアップデートします。ビューコントローラは、タイトルやビュープロパティの設定と言った最低限の動作しかしません。

ビュー階層にアタッチ可能なビューはサイズ変更する必要があります。リサイズやビューの位置は、ナビゲーションバーやツールバーが表示されているかによって決まります。従って、ナビゲーションコントローラによってビューが表示された時、ビューはautoresizeingMaskプロパティに基づいて適切にサイズ変更されます。

詳細についてはプログラミングガイドのビューコントローラの項目を参照してください。

このクラスのサブクラスを作成することは意図されていません。

インデックス

インスタンスの作成

– initWithRootViewController:

ナビゲーションスタックのアイテムへのアクセス

topViewController property
visibleViewController property
viewControllers property
– setViewControllers:animated: 3.0b以降

スタックにデータを積む/データを取り出す

– pushViewController:animated:
– popViewControllerAnimated:
– popToRootViewControllerAnimated:
– popToViewController:animated:

ナビゲーションバーの設定

navigationBar property
navigationBarHidden property
– setNavigationBarHidden:animated:

デリゲートの管理

delegate property

カスタムツールバーの設定

toolbar property 3.0b以降
– setToolbarHidden:animated: 3.0b以降
toolbarHidden property 3.0b以降

プロパティ

delegate

デリゲートを返す。デリゲートを持たないならnilを返す。

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

navigationBar

ナビゲーションコントローラによって管理されているナビゲーションバーを返す。

@property(nonatomic, readonly) UINavigationBar *navigationBar

navigationBarHidden

ナビゲーションバーを表示するかどうかを指定する。

@property(nonatomic, getter=isNavigationBarHidden) BOOL navigationBarHidden

topViewController

ナビゲーションコントローラーのスタックの一番上にあるビューコントローラを返す。

@property(nonatomic, readonly, retain) UIViewController *topViewController

viewControllers

ナビゲーションコントローラで管理されている全てのビューコントローラを返す。

@property(nonatomic, copy) NSArray *viewControllers

visibleViewController

現在見えているビューのコントローラ(モーダルビューコントローラまたはトップビューコントローラ)を返す。

@property(nonatomic, readonly, retain) UIViewController *visibleViewController

インスタンスメソッド

initWithRootViewController:

ナビゲーションコントローラのインスタンスを作成する。

- (id)initWithRootViewController:(UIViewController *)rootViewController

popToRootViewControllerAnimated:

全てのビューコントローラをルートビューコントローラのスタックにポップして表示を更新する。

- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated

popToViewController:animated:

トップビューコントローラを指定して全てのビューをポップする。その後表示を更新する。

- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated

popViewControllerAnimated:

レシーバのスタックの一番上にあるアイテムをポップして表示を更新する。

- (UIViewController *)popViewControllerAnimated:(BOOL)animated

pushViewController:animated:

レシーバのスタックにビューコントローラをプッシュして表示を更新する。

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated

setNavigationBarHidden:animated:

ナビゲーションバーを非表示にするかどうかを指定する。

- (void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated

コンスタント

UINavigationControllerHideShowBarDuration

ナビゲーションバーをアニメ化する際のアニメーションの推奨継続時間

extern const CGFloat UINavigationControllerHideShowBarDuration


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