2013-07-01 48 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