我将UISearch
栏和UISearchDisplayController
添加到UINavigationController
MapView
。当我开始在搜索栏中输入内容时,结果表视图会重叠iOS 8
上的搜索栏。
在iOS 7
上工作没有任何问题:UISearchBar
移动到导航栏的顶部并保留在结果表视图中。
在iOS 8
上UISearchBar
不会移动到导航栏的顶部,结果表格视图会重叠。
我尝试将searchBar作为子视图添加到searchResultsTableView
但仍然没有运气
func searchDisplayControllerDidEndSearch(controller: UISearchDisplayController) {
let searchBar = controller.searchBar
let superView = searchBar.superview
if let tableSuperView = superView as? UITableView {
} else {
searchBar.removeFromSuperview()
controller.searchResultsTableView.addSubview(searchBar)
}
}
仅在UISplitViewController
的详细视图中执行此操作。
结束这样做:
func searchDisplayControllerWillBeginSearch(controller: UISearchDisplayController) {
self.navigationController?.setNavigationBarHidden(true, animated: true)
}
func searchDisplayControllerWillEndSearch(controller: UISearchDisplayController) {
self.navigationController?.setNavigationBarHidden(false, animated: true)
}