6

在我的应用程序中,我使用 UISearchController(iOS 8 中的新功能)来显示搜索结果。有没有办法显示当用户点击搜索栏而不输入任何内容时出现的默认结果集?
我发现了一些关于这个主题的问题和答案,但他们都使用了旧的 UISearchDisplayController,我似乎无法让解决方案与 UISearchController 一起工作。

谢谢

4

2 回答 2

0
self.searchController.searchBar.text = @"\n";

似乎可以解决问题。哈基——但是,嘿,似乎我们没有太多其他工作要做。

于 2015-01-18T08:24:43.097 回答
0

我认为这种方法更好,当searchBar为空时要小心,然后preload tableview会再次消失。

UISearchBarDelegate

func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
    if searchText.isEmpty {
        dispatch_async(dispatch_get_main_queue()) {
            self.searchController.searchResultsController?.view.hidden = false
        }
    }
}

func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
    dispatch_async(dispatch_get_main_queue()) {
        self.searchController.searchResultsController?.view.hidden = false
    }
}

UISearchControllerDelegate

func willPresentSearchController(searchController: UISearchController) {
    dispatch_async(dispatch_get_main_queue()) {
        self.searchController.searchResultsController?.view.hidden = false
    }
}
于 2016-03-29T09:02:49.073 回答