【问题标题】:How to customize the top bar of a UINavigationController with the current view information?如何使用当前视图信息自定义 UINavigationController 的顶部栏?
【发布时间】:2011-04-27 11:16:53
【问题描述】:

我有一个 UINavigationController,在图片中你可以看到添加了一个 UIViewController。

现在,我想用当前可见 UIViewController 的内容自定义 UINavigationController 的顶部栏。更具体地说,我想:

  1. 添加标题
  2. 自定义“返回”按钮文本

我应该使用当前 UINavigationController 中的 self.navigationController 方法吗?如果是这样,接下来的步骤是什么?

谢谢

【问题讨论】:

    标签: iphone cocoa-touch ios


    【解决方案1】:

    您可以设置标题:

    [[self navigationItem] setTitle:@"title text"];
    

    您可以在 InterfaceBuilder 中更改后退按钮文本或:

    [[[self navigationItem] backBarButtonItem] setTitle:@"back button text"];
    

    但请记住,backBarButtonItem 来自前一个 ViewController,因此您必须在此处设置它。或者,标题是从前一个视图中设置的。

    【讨论】:

    • 我发现它在 viewWillAppear 中不起作用,而仅在 viewDidLoad 中起作用。既然我的视图出现了,为什么我不能在那里设置呢?谢谢
    • 其实你说的按钮是不正确的。我需要替换按钮而不是文本才能使其工作。即discussions.apple.com/thread/2508892?threadID=2508892
    • 您确定调用了 viewWillAppear 吗?我只用 viewDidLoad 进行了测试。但有时 viewWillAppear (stackoverflow.com/questions/131062/…) 会出现问题。我在一个示例项目上测试了我的代码,它运行良好。所以我确定我的代码是正确的。
    【解决方案2】:
    self.title = "Your title";
    

    您可以在当前视图控制器中使用它来显示标题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      • 2013-11-28
      相关资源
      最近更新 更多