swift - 如何将 self.navigationItem.titleView 快速替换为搜索栏后的标题

标签 swift navigation hide title searchbar

我有搜索栏,当点击图片时,它会在顶部导航创建搜索栏,替换为标题。然后当在搜索栏外点击时,标题不会再次显示,它仍然带有搜索栏(文本字段),如果在搜索栏外点击或点击如何再次显示标题?

这是在顶部导航创建搜索栏的代码,替换为标题。

func createSearchBar(){
    searchBar.sizeToFit()
    searchBar.showsCancelButton = false
    searchBar.placeholder = "Enter key"
    searchBar.delegate = self
    self.navigationItem.titleView = searchBar
}

这是在搜索栏外点击时的代码

extension ViewCon {
func hideKeyboardWhenTappedAround() {
    let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(ViewCon.dismissKeyboard))
    view.addGestureRecognizer(tap)
}

func dismissKeyboard() {
    self.searchBar.resignFirstResponder()
 self.navigationController?.navigationBar.topItem?.title="Title List"
}

但是我要如何再次在顶部导航中显示标题?

最佳答案

你需要设置为nil

self.navigationItem.titleView = nil

参见:https://developer.apple.com/reference/uikit/uinavigationitem/1624935-titleview

关于swift - 如何将 self.navigationItem.titleView 快速替换为搜索栏后的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41864458/

相关文章:

swift - 以 0.01 迭代数字在几次迭代后添加 .0000000000000001

ios - 没有设置触摸手势,但tabBar只响应长按。为什么?

html - 高级菜单项的问题

jquery - 如何通过单击同一切换按钮或文档中的其他位置来隐藏 div

swift - 容器 View 中以编程方式创建的标签不会针对文本展开

ios - Swift CGPoint x 和 y 覆盖编程约束

javascript - 滑动显示导航 "dots"

android - 哪些 Android 卫星导航软件可以提供与自定义应用程序的完全集成?

css - 无法在 jQuery Mobile 应用程序中隐藏/显示元素

Jquery 切换不工作