我有UISearchBar
附加到UINavigationController
,当我点按提交的UIViewController
的后退按钮时,其中包含UISearchBar
,它不会消失为我预计,它仍会保持连接到导航栏并显示在父视图控制器上。
这是我的UISearchBar
声明:
lazy var searchBar: UISearchBar = {
let sb = UISearchBar()
sb.placeholder = "Search"
UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self]).backgroundColor = UIColor.rgb(red: 230, green: 230, blue: 230) // cor de fundo da search bar
sb.delegate = self
return sb
}()
以下是我将UISearchBar
附加到UINavigationController
navigationController?.navigationBar.addSubview(searchBar)
我尝试在searchBar.removeFromSuperview()
上致电viewWillDisappear
,但它没有效果。
任何提示?
谢谢
答案 0 :(得分:1)
使用self.navigationItem.titleView = searchBar
添加搜索栏而不是navigationController?.navigationBar.addSubview(searchBar)
,当您需要删除它时,请将titleView替换为另一个UIView
或将其设为= nil
添加
self.navigationItem.titleView = searchBar
删除
self.navigationItem.titleView = UIView()