情节提要 UI 属性控制器后退按钮文本



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

    self.title = @"Select Songs";
    [self.backButton setTitle:@"Add"];

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

模拟指标都是推断出来的。 我还在 Xcode 中视图下方的黑色托盘中添加了一个 BarButtonItem,并将视图控制器的 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)

公认的答案是黑客,这是这样做的方法......

  1. 打开情节提要
  2. 在"文档大纲"窗口中,找到要访问的视图控制器返回
  3. 单击该视图控制器的导航项
  4. 在属性资源管理器中,将"后退按钮"值更改为自定义磁贴

就是这样,享受...

后退按钮将显示上一个视图的标题,如果未设置标题,则会显示"后退"。

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

最新更新