故事板UINavigation控制器后退按钮文本

jus*_*227 3 uinavigationbar storyboard uinavigationcontroller uistoryboardsegue

在XCode 4.5.1中使用导航控制器创建故事板应用程序时,我很难尝试为任何推送的视图控制器设置BACK按钮.我正在使用segue,视图控制器按预期显示.但是,我想动态更改导航栏和后退按钮的名称,并将其放在我的ViewWillAppear中:

    self.title = @"Select Songs";
    [self.backButton setTitle:@"Add"];
Run Code Online (Sandbox Code Playgroud)

更改导航栏的标题,但后退按钮仍显示推送窗口的名称而不是文本"添加".

模拟指标都是推断的.我还在Xcode中的视图下方的黑色托盘中添加了一个BarButtonItem,并将viewcontroller的backButton连接到backButton,但文本仍然没有出现.

添加以下日志消息也会产生一些有趣的东西:(但标题栏正在正确更新)

-(void) viewDidAppear:(BOOL)animated {
    NSLog(@"%s %@", __FUNCTION__, self.navigationItem.backBarButtonItem);
    NSLog(@"%s %@", __FUNCTION__, self.navigationController.navigationItem.backBarButtonItem);
}

2012-10-14 15:18:41.835 xxxx[2690:907] -[ViewController viewDidAppear:] (null)
2012-10-14 15:18:41.838 xxxx[2690:907] -[ViewController viewDidAppear:] (null)
Run Code Online (Sandbox Code Playgroud)

Ant*_*Dev 13

接受的答案是黑客攻击,这是做到这一点的方法......

  1. 打开StoryBoard
  2. 在Document Outline窗口中找到要返回的ViewController
  3. 单击该ViewController的导航项
  4. 在Attributes explorer中,将Back Button值更改为自定义磁贴

就是这样,享受......

  • 它不仅仅是一种不同的方法,而是一种不同的方法.但我同意你的意见,你的方式是更好的方式(我能找到).特别是如果您的项目依赖于故事板. (3认同)

Dar*_*ren 10

后退按钮将显示上一个视图的标题,如果没有设置标题,它将显示"后退".

因此,在prepareForSegue方法中,您可以在推送下一个视图之前更改当前视图的标题.然后,后退按钮将显示您为标题设置的内容.