1

最近、UINavigationControllerを使用して混乱しています。UINavigationControllerをカスタマイズして、背景画像を変更し、ボタンを追加したいと思います。私はこれを2つのプロジェクトで試しました。最初に私はを使用してこれを行いました

self.navigationController.navigationItem.leftBarButtonItem = customItem; しかし、secoenterコードでは、このメソッドは機能しません。使用する必要があります

self.navigationItem.leftBarButtonItem = customItem;

ViewControllerがNavigationControllerのrootViewControllerである場合、次の2つのプロパティがあります。

self.navigationController
self.navigationItem

ナビゲーションには3つのプロパティがあります。

self.navigationController.navigationController
self.navigationController.navigationBar
self.navigationController.navigationItem

NavigationControllerにNavigationControllerプロパティもあるのはなぜですか?

なぜ時々使うのか

self.navigationController.navigationItem

でも時々私は使わなければなりません

self.navigationItem

私は本当に混乱しています。

4

1 に答える 1

0
why the NavigationController also has a property NavigationController?

UIViewControllerこのプロパティを持つ、から継承するためです。

原則として、View Controllerを囲むナビゲーションコントローラーのプロパティを直接操作することは望ましくありません(これらのプロパティには、ナビゲーションコントローラーのナビゲーションアイテムとナビゲーションバーが含まれます)。変更self.navigationItem.whateverPropertyYouWannaSet; ナビゲーションアイテムのプロパティは、View Controllerをスタックにプッシュすると、ナビゲーションコントローラーによって読み取られ、これらのプロパティに従って独自のナビゲーションバーが設定されます。

于 2012-07-30T09:59:10.977 に答える