2011-08-03 193 views
11

我推一個視圖控制器到導航控制器是這樣的:爲什麼self.navigationItem.backBarButtonItem總是零?

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

,然後,裏面anotherViewController我檢查self.navigationItem.BackBarButtonItem和LeftBarButtonItem,但他們總是爲零。

我可以看到backBarButtonItem,它似乎工作正常。 「

+0

確保你只嘗試後'viewDidAppear'閱讀'backBarButtonItem'等。在'viewWillAppear' /'viewDidLoad'/'init..',導航控制器還沒有設置後退按鈕,因爲視圖還沒有被完全推到導航棧上。 – darvids0n

回答

5

從文檔: 」當此項目是導航欄的後面項目(當它是頂部項目下面的下一項目時),它可能會在導航欄上表示爲後退按鈕。指定後退按鈕,您設置的後欄按鈕項目的目標和動作應爲零,默認值是顯示導航項目標題的欄按鈕項目。

我認爲這是約定它總是爲零,並且默認值始終爲零。

在這裏討論了self.navigationItem.backBarButtonItem是零類似的主題: Changing the UIBackButtonItem title

+0

我認爲這是正確的。如果我手動坐下,backbarbuttonitem不會是零。我正在檢查後面的按鈕是否存在,因爲如果它在那裏,我不想用另一個按鈕覆蓋它。如果我在更多的視圖控制器,我最終測試了選項卡的選定索引。 – Michael