2

我的应用程序(iOS 部署目标 8.2)显示了一个可搜索的表格视图。我使用搜索栏和搜索显示控制器。搜索工作(表格更新),但我有一个非常烦人的视觉错误,我似乎无法修复:一旦用户开始在搜索栏中输入一个字符,该栏就会消失(但它仍然处于活动状态)。

我还不允许发布图片,所以这里有一个链接到 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)
}
4

1 回答 1

3

我自己找到了一个解决方案,它是如此简单以至于我觉得很愚蠢......

func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
    self.navigationController?.navigationBarHidden = true
}

func searchBarTextDidEndEditing(searchBar: UISearchBar) {
    self.navigationController?.navigationBarHidden = false
}

我不知道为什么它有效,但它确实有效。

于 2015-04-07T13:16:46.540 回答