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

Rex*_*ids 44 iphone xcode uinavigationbar uinavigationcontroller

可能重复:
如何更改导航栏上"后退"按钮的标题

情况:
我有一个由导航控制器管理的UIViewController.我可以通过简单地调用来设置覆盖UIViewController的导航栏的标题self.title = @"title".但是,我希望能够设置导航栏的后退按钮文本(对于不同的语言,这样......)

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

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

Boo*_*oon 149

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];

  • 这里有一点值得强调:你在当前的视图控制器上设置了后退按钮,你会在下一个viewcontroller中看到它......万一它可以帮助任何人......它帮助了我. (9认同)
  • 不幸的是,不能在`prepareForSegue:sender:`回调中工作.我不确定故事板接受的解决方案是什么. (8认同)
  • @KieranSenior没有在iOS7上工作 (4认同)

Jla*_*lam 12

根据苹果文档的最佳和最简单的方法将视图控制器的标题设置为后面应该说的是 -

例:

如果viewController1是在viewController2 (与back buttonviewController2即将viewController1)

viewController1.title = @"something awesome";
Run Code Online (Sandbox Code Playgroud)

back buttonviewController2会显示"东西真棒"

  • 如果向导航堆栈中的视图控制器添加标题,则该标题将显示为后退按钮的标题."返回"是默认文本.设置之后,您无需删除此标题.因此,这是正确的答案. (2认同)