如何使用当前视图信息自定义 UINavigationController 的顶部栏?
Posted
技术标签:
【中文标题】如何使用当前视图信息自定义 UINavigationController 的顶部栏?【英文标题】:How to customize the top bar of a UINavigationController with the current view information? 【发布时间】:2011-04-27 11:16:53 【问题描述】:我有一个 UINavigationController,在图片中你可以看到添加了一个 UIViewController。
现在,我想用当前可见 UIViewController 的内容自定义 UINavigationController 的顶部栏。更具体地说,我想:
-
添加标题
自定义“返回”按钮文本
我应该使用当前 UINavigationController 中的 self.navigationController 方法吗?如果是这样,接下来的步骤是什么?
谢谢
【问题讨论】:
【参考方案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 (***.com/questions/131062/…) 会出现问题。我在一个示例项目上测试了我的代码,它运行良好。所以我确定我的代码是正确的。【参考方案2】:self.title = "Your title";
您可以在当前视图控制器中使用它来显示标题
【讨论】:
以上是关于如何使用当前视图信息自定义 UINavigationController 的顶部栏?的主要内容,如果未能解决你的问题,请参考以下文章