【发布时间】:2017-08-07 15:24:34
【问题描述】:
我在 containerView 中有一个 tableView。以编程方式向其中添加了一个 searchBar。一切正常,除了以下情况:当我点击一个单元格时,tableView 被 searchBar 过滤,然后我从 detailView(通过 push segue 呈现)返回,然后我关闭了 searchBar(取消按钮) ,然后搜索栏消失。 神奇的是,当我在控制台调试的时候,searchBar对象还在,而且还是tableView的headerView... 任何人都有一个想法,什么可能导致这个问题,以及如何解决它?
这是我的相关代码:
在 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,self是containerView的VC)
在 IB 上,mpvc 设置为 Extend edges: Under Opaque Bars
感谢您的帮助!
【问题讨论】:
标签: ios swift uitableview xcode8 uisearchbar