选择 searchBar 时在 UISearchController 中预加载数据

Posted

技术标签:

【中文标题】选择 searchBar 时在 UISearchController 中预加载数据【英文标题】:Preloading data in UISearchController when searchBar is selected 【发布时间】:2014-09-30 15:36:50 【问题描述】:

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

谢谢

【问题讨论】:

【参考方案1】:
self.searchController.searchBar.text = @"\n";

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

【讨论】:

【参考方案2】:

我觉得这个方法比较好,注意当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
    

【讨论】:

以上是关于选择 searchBar 时在 UISearchController 中预加载数据的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中从 SearchBar 中选择单元格

使用 SearchBar 时,复选标记与 TableView 中的错误行相关联

如何在页面加载时在 HTML 选择选项中选择 JSON 结果

编写summernote textarea时在IE中出现选择

如何在 swiftUI 中选择项目时在选择器上添加操作?

选择图像不同图像时在所有文本视图中具有相同名称