2013-07-01 84 views
2

我有一個主視圖,一些事件發生,你可以點擊這個視圖中的一些按鈕,然後轉到另一個。在該視圖中,我有一個導航項目,顯示一個後退按鈕。例如:主視圖標題=「新聞」。當我打開一個新的視圖,後退按鈕是「新聞」。 現在,我會將該按鈕標題更改爲「新聞(8)」。如何更改名爲UIView的後退按鈕標題?

我已經嘗試過這個代碼設置backButtonItem在第二個觀點:

self.navigationItem.backBarButtonItem.title = @"News (1)"; 

但我意識到,你必須設置第一個(主視圖)後退按鈕標題,所以我在第一視圖嘗試:

self.navigationItem.backBarButtonItem.title = @"News (1)"; 

它的作品,但只有當我點擊後退按鈕。它會更改標題並使操作返回到主視圖。點擊它之前有什麼方法「更新」後退按鈕標題?

http://i.stack.imgur.com/xAHuI.png
http://i.stack.imgur.com/20mnt.png

+0

你看過這個答案嗎? http://stackoverflow.com/a/1449381/1226304 – derpoliuk

+0

@StasDerpoliuk謝謝,但它不一樣。但你已經爲我回答了。 – Fabio

+0

@Marco不,它不是重複的。 – Fabio

回答

2

試試這個:

ClassX *obj=[[ClassX alloc]initWithNibName:@"ClassX" bundle:nil]; 

    [email protected]"News(8)"; 

    [self.navigationController obj animated:YES]; 

    [obj release]; 

把它放在你的類名代替ClassX。而在這一類的從那裏

你正在推動把viewWillAppear的您希望在導航欄上顯示標題代碼。

+0

已經加載視圖後,我必須更改標題。像這樣,我在調用它之前更改標題。 – Fabio

0

AFAIK加載視圖後無法更改後退按鈕。

所以你可以做的是創建自定義UIBarButtonItem,設置背景與標準後退按鈕(你可以在這裏找到鏈接:https://stackoverflow.com/a/574863/1226304),然後改變它的標題,只要你想。

這是我現在可以看到的最簡單的解決方案。

+0

這就是我意識到(不可能),但我會嘗試其他不使用背景圖像的東西。不管怎麼說,還是要謝謝你! – Fabio

+0

@Fabio如果你會找到另一種解決方案,你能以某種方式通知我嗎?對我來說這是一個非常有趣的問題。 – derpoliuk

+0

我找到了答案,但不問我爲什麼這樣!也許你可以告訴我。 我使用過: 'self.navigationItem.backBarButtonItem.title = [NSString stringWithFormat:@「News(%i)」,news_counter];' 'self.navigationItem.title = [NSString stringWithFormat:@「News(%i) 「,news_counter];' 如果我只使用這些行中的一個,它就不起作用。我必須同時使用oO – Fabio