2011-08-03 22 views
11

私はこのようなナビゲーションコントローラにビューコントローラをプッシュ:その後、なぜself.navigationItem.backBarButtonItemは常にnilですか?

[self.navigationController pushViewController:anotherViewController animated:YES]; 

とは、anotherViewControllerの内側に私はself.navigationItem.BackBarButtonItemとLeftBarButtonItemを確認し、彼らは常にゼロです。

私はbackBarButtonItemを見ることができ、うまくいくようです。

+0

はあなただけviewDidAppear' ''後backBarButtonItem'などを読み取ろうことを確認してください。.. 'viewWillAppear' /' viewDidLoad' /中'init..'ナビゲーションコントローラは、ビューがナビゲーションスタックに完全にプッシュされていないため、まだ戻るボタンを設定していません。 – darvids0n

答えて

5

From the Documentation: "このアイテムがナビゲーションバーの後ろのアイテムである場合(上部アイテムの次のアイテムの場合)、ナビゲーションバーの戻るボタンとして表すことができます。戻るボタンを指定します。設定したバックバーボタンアイテムのターゲットとアクションはnilでなければなりません。デフォルト値は、ナビゲーションアイテムのタイトルを表示するバーボタンアイテムです。

これは、常にこれがnilであることが慣例であり、デフォルト値は常にnilであることを意味すると解釈しています。

self.navigationItem.backBarButtonItemがnilが、ここで議論されたことについて同様の件名: Changing the UIBackButtonItem title

+0

私はそれが正しいと思います。私が手動で座っていると、backbarbuttonitemはnilになりません。私はバックボタンが存在するかどうかをチェックしていました。なぜなら、そこにあれば、別のボタンで上書きしたくないからです。私はタブバーの選択されたインデックスをテストすることになりました。 – Michael

関連する問題