iOS,Swift 3 - 当我从Detail View返回后点击Cancel时,UISearchBar消失
问题描述:
我在containerView中有一个tableView。以编程方式将searchBar添加到它。一切正常,除了案件:当我点击一个单元格,而tableView是由searchBar过滤,然后我从detailView返回(通过push segue呈现),然后我关闭searchBar(取消按钮) ,那么searchBar就会消失。 神秘的是,当我在控制台上调试它时,searchBar对象仍然存在,它仍然是tableView的headerView ... 任何人都有一个想法,什么会导致这个问题,以及如何解决它?iOS,Swift 3 - 当我从Detail View返回后点击Cancel时,UISearchBar消失
这里是我的相关代码:
在viewDidLoad中:
self.searchController.searchResultsUpdater = self
self.searchController.delegate = self
self.searchController.dimsBackgroundDuringPresentation = false
self.searchController.hidesNavigationBarDuringPresentation = false
self.searchController.definesPresentationContext = false
self.tableView.tableHeaderView = self.searchController.searchBar
searchControllerDelegate:
func willPresentSearchController(_ searchController: UISearchController) {
if let mpvc = self.parent as? MyPulleyViewController {
mpvc.navigationController?.navigationBar.isTranslucent = true
}
}
func willDismissSearchController(_ searchController: UISearchController) {
if let mpvc = self.parent as? MyPulleyViewController {
mpvc.navigationController?.navigationBar.isTranslucent = false
}
}
(myPulleyViewController是包含containerView的VC,自我是containerView的VC)
在IB上,mpvc被设置为Extend edges:在不透明酒吧
感谢您的任何帮助!
答
我面临同样的问题,我觉得这是iOS的问题,我固定它通过使视图 - 控制搜索结果:
let searchVC = mainStoryboard.instantiateViewController(withIdentifier: identifier) as! SearchResultViewController
let searchController = UISearchController(searchResultsController: searchVC)
searchController.searchResultsUpdater = searchVC
,它工作正常。