如何设置UINavigationBar上后退按钮的文本?

问题描述:

可能重复:
How do I change the title of the “back” button on a Navigation Bar如何设置UINavigationBar上后退按钮的文本?

现状:
我有一个由导航控制器支配一个UIViewController。我可以通过简单地调用self.title = @"title"来设置覆盖UIViewController的导航栏的标题。但是,我希望能够设置导航栏的后退按钮文本,太(针对不同的语言N”等..)

问题:
我不知道如何设置后退按钮的文本。

问题:
如何设置UINavigation栏的后退按钮(编程不是在IB)?

+0

这个问题问得好。可能没有记录的方法来做到这一点(我真的不知道),但如果将它改为任何不是前一个项目的标题或“返回”一词都不反对的东西,我会感到惊讶HIG。如果它违反HIG,那么这个定制化很可能会导致应用拒绝。/2分钱小费。 – 2010-02-04 06:19:14

+3

建议您将“接受”设置为Boon的答案,这是正确的。马特的回答不是一个好的解决方案(对不起,马特!) – Olie 2012-02-20 20:47:58

+0

更改后面的标签不是针对HIG,它只是有道理。 – 2015-06-12 13:41:20

setTitle的方式 - 虽然可能似乎工作,是不正确的。如果您密切关注,您会注意到,当新视图通过pushViewController动画到视图中时,导航项目更改为新标题。事实上,你必须在viewWillAppear中恢复你的头衔是kludgy,这进一步表明了它的黑客性质。

正确的方法是你的pushViewController之前做到以下几点:

 
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] 
           initWithTitle: @"Back Button Text" 
           style: UIBarButtonItemStyleBordered 
           target: nil action: nil]; 

[self.navigationItem setBackBarButtonItem: backButton]; 
[backButton release]; 

+8

不幸的是,在'prepareForSegue:sender:'回调中不起作用。我不确定接受的故事板的解决方案是什么。 – wcochran 2012-07-19 18:35:41

+1

我在prepareForSegue:sender:callback中得到了这个结果。刚刚摆脱[backButton发布];如果你正在使用ARC。 – dnorcott 2012-09-25 17:19:16

+9

有一件事值得在这里强调:你在当前的视图控制器上设置后退按钮,并且你会在下一个视图控制器中看到它......以防它帮助任何人......它帮助了我。 – Zsolt 2013-06-15 08:33:48

最好的和最简单的方法,根据苹果文档视图控制器的标题设置成什么回来应该说是这样的 -

实施例:

如果viewController1viewController2下(以及在viewController2back button将要viewController1

viewController1.title = @"something awesome"; 

back buttonviewController2将显示“的东西真棒”

+2

如果您将标题添加到导航堆栈中的视图控制器,则该标题将显示为后退按钮的标题。 “返回”是默认文本。设置完成后,您不需要删除此标题。因此这是正确的答案。 – Mark 2013-01-09 19:17:49