当前一个视图的导航控制器中显示搜索栏时,我无法在推入视图上更改后退按钮标题。
ListView有一个UISearchBar,显示在导航栏中。
DetailView是从ListView的包含表中推送出来的。除非从导航栏中删除搜索栏,否则详细信息视图中导航栏中的按钮始终标题为“搜索”。
我尝试在故事板中更改DetailView的navitem上的后退按钮文本而没有效果。更改此navitem中的主标题确实有效。删除标题会将名称还原为视图控制器的名称 - 因此这是实时navitem。
我已经尝试在viewDidLoad中设置self.navigationitem.backBarButtonItem.text = @“ASDF”,但后面的按钮标题仍然是搜索。
UISearchDisplayController不响应UIViewController的setTitle方法 - 我尝试将我的实例转换为常规视图控制器来设置标题。
看起来后退按钮标题被设置为searchDisplayController的硬编码,不可变标题“搜索”。这是真正意图的行为吗?我做错了什么?
答案 0 :(得分:7)
我从UISearchDisplayController文档中找到了答案 - 当在导航栏中显示时,导航栏使用搜索控制器的导航项而不是它自己的导航项。该项目的默认标题是“搜索”。
设置self.searchDisplayController.navigationItem.title = @“MY TITLE”有效。