2009-02-05 76 views
0

我有一個RootViewController和一個SubViewController。我沿任何一個方向遍歷視圖。 RootViewController是一個UITableView子類。根據所選的行,我想更改子視圖的標題self.navigationItem.title = [chunks objectAtIndex:1];navigationItem.title不會刷新

它在第一次加載子視圖時起作用。但是,當我返回到RootViewController並再次加載子視圖時,以前的標題仍然存在。 任何想法我錯過了什麼?

回答

0

我剛剛在我的一個應用程序中試過。當我設置標題使用

self.navigationItem.title = @"Foo" 

導航欄中的名稱立即更改。我認爲你在其他地方有一個bug,你只有在你第一次調用SubViewController時纔會調用它。在該線上劃一個斷點,看看它是否真的第二次被調用。或者可能[chunk objectAtIndex:1]總是返回相同的字符串。

或者我不理解你的問題。據我所知,它的確如你所期望的那樣工作。

1

在你的特殊情況下,你可能想要在viewWillAppear中設置你的標題:這樣,每當視圖出現在屏幕上時,標題就會被設置。

+0

我有同樣的問題,這是我的工作,FWIW。它對我仍然感覺有點「哈克」。 – Prairiedogg 2009-09-01 04:38:15

0

我想你正試圖改變viewDidLoad方法中的標題。只有在第一次加載視圖時才調用viewDidLoad。如果你正在重複使用同一個viewcontroller的實例,viewDidLoad將只被調用一次。

請嘗試在viewWillAppear方法中設置標題。每次要顯示視圖時都會調用此方法。這應該工作。