我的应用程序(iOS部署目标8.2)显示了可搜索的表格视图。我使用搜索栏和搜索显示控制器。搜索工作(表更新),但我有一个非常烦人的视觉错误,我似乎无法修复:一旦用户开始在搜索栏中键入一个字符,该栏就会消失(但它仍然有效)。
我还不允许发布图片,所以这里有一个链接to one hosted on postimage,希望能更清楚地解释我的问题。根据我的理解,搜索结果显示在单独的表视图中,搜索栏隐藏在导航栏后面。我试图隐藏导航栏,但这没有帮助。
涉及我的SearchDisplayController的一些代码:
func searchDisplayController(controller: UISearchDisplayController!, shouldReloadTableForSearchString searchString: String!) -> Bool {
self.filterContentForSearchText(searchString)
return true
}
func filterContentForSearchText(searchText: String) {
self.filDealer = self.dealers.filter({( deal: Dealer) -> Bool in
let stringMatch = deal.name.lowercaseString.rangeOfString(searchText.lowercaseString)
return (stringMatch != nil)
}
答案 0 :(得分:3)
我自己找到了一个解决方案,它非常简单,让我感到相当愚蠢...
func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
self.navigationController?.navigationBarHidden = true
}
func searchBarTextDidEndEditing(searchBar: UISearchBar) {
self.navigationController?.navigationBarHidden = false
}
我不知道为什么会有效,但确实如此。