当在上一个视图控制器的导航栏中显示搜索栏时,无法更改推送视图控制器导航栏中“搜索”返回按钮的标题。

4
当之前的视图在导航控制器中显示了搜索栏时,我无法更改推送视图上的返回按钮标题。
ListView拥有UISearchBar,在导航栏中显示。
DetailView从ListView的包含表中推出。详情视图中导航栏中的按钮名称始终为“搜索”,除非将导航栏中的搜索栏移除。
我试过在storyboard中更改DetailView的navitem中的返回按钮文本,但没有效果。在这个navitem中更改主标题是有效的。删除该标题会将名称恢复为视图控制器的名称,因此这是当前的navitem。
我已经尝试在viewDidLoad中设置self.navigationitem.backBarButtonItem.text = @"ASDF",但返回按钮标题仍然保持为“搜索”。
UISearchDisplayController不响应UIViewController的setTitle方法——我尝试将我的实例转换为常规视图控制器来设置标题。
看起来返回按钮标题被设为searchDisplayController的硬编码、不可变标题“Search”。这是预期行为吗?我做错了什么?
1个回答

7

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

设置self.searchDisplayController.navigationItem.title = @"我的标题"即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接