当在前一个视图的导航栏中显示搜索栏时,无法在推送的vc导航栏中的“搜索”中更改后退按钮标题

时间:2013-11-13 00:17:24

标签: uinavigationcontroller ios7 uisearchbar uinavigationitem

当前一个视图的导航控制器中显示搜索栏时,我无法在推入视图上更改后退按钮标题。

ListView有一个UISearchBar,显示在导航栏中。

DetailView是从ListView的包含表中推送出来的。除非从导航栏中删除搜索栏,否则详细信息视图中导航栏中的按钮始终标题为“搜索”。

我尝试在故事板中更改DetailView的navitem上的后退按钮文本而没有效果。更改此navitem中的主标题确实有效。删除标题会将名称还原为视图控制器的名称 - 因此这是实时navitem。

我已经尝试在viewDidLoad中设置self.navigationitem.backBarButtonItem.text = @“ASDF”,但后面的按钮标题仍然是搜索。

UISearchDisplayController不响应UIViewController的setTitle方法 - 我尝试将我的实例转换为常规视图控制器来设置标题。

看起来后退按钮标题被设置为searchDisplayController的硬编码,不可变标题“搜索”。这是真正意图的行为吗?我做错了什么?

1 个答案:

答案 0 :(得分:7)

我从UISearchDisplayController文档中找到了答案 - 当在导航栏中显示时,导航栏使用搜索控制器的导航项而不是它自己的导航项。该项目的默认标题是“搜索”。

设置self.searchDisplayController.navigationItem.title = @“MY TITLE”有效。