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

min*_*rat 4 uinavigationcontroller uisearchbar uinavigationitem ios7

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

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

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

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

我试过在viewDidLoad中设置self.navigationitem.backBarButtonItem.text = @"ASDF",后面的按钮标题仍然是搜索.

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

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

min*_*rat 7

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

设置self.searchDisplayController.navigationItem.title = @"MY TITLE"有效.