4

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

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

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

我尝试在情节提要中更改 DetailView 的 navitem 上的后退按钮文本,但没有效果。更改此导航项中的主标题确实有效。删除标题会将名称恢复为视图控制器的名称 - 所以这是实时导航。

我尝试在 viewDidLoad 中设置 self.navigationitem.backBarButtonItem.text = @"ASDF",但后退按钮标题仍然是搜索。

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

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

4

1 回答 1

7

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

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

于 2013-11-13T00:50:05.493 回答