键入时,搜索栏会消失

时间:2015-04-07 12:38:30

标签: ios xcode swift searchbar searchdisplaycontroller

我的应用程序(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)
}

1 个答案:

答案 0 :(得分:3)

我自己找到了一个解决方案,它非常简单,让我感到相当愚蠢...

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

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

我不知道为什么会有效,但确实如此。