ios – Swift – 带独立searchResultsController的UISearchController

ios – Swift – 带独立searchResultsController的UISearchController,第1张

概述我想弄清楚当你想在单独的searchResultsController中显示结果时如何使用UISearchController – 我发现的每个指南,视频和教程都使用当前的viewController来呈现搜索结果,并像实例化UISearchController一样所以: let searchController = UISearchController(searchResultsControll 我想弄清楚当你想在单独的searchResultsController中显示结果时如何使用UISearchController – 我发现的每个指南,视频和教程都使用当前的vIEwController来呈现搜索结果,并像实例化UISearchController一样所以:
let searchController = UISearchController(searchResultsController: nil)

但我想调暗视图并使用搜索结果呈现一个新的tableVIEw,就像在App Store搜索上一样.所以我所做的是创建一个新的tableVIEwController,给它一个storyboard ID,然后像这样实例化它:

let storyboard = UIStoryboard(name: "Main",bundle: nil)let resultsController = storyboard.instantiateVIEwController(withIDentifIEr: "searchResults") as! UItableVIEwControllerlet searchController = UISearchController(searchResultsController: resultsController )

这似乎工作.但是,我从这里开始就被困住了.我不知道如何在resultsController中显示搜索结果,将什么放在resultsController中的cellForRowAtIndexPath中,等等.

任何帮助表示赞赏!

解决方法 管理好解决 –

1)在实例化searchController时添加这一行:

searchController.searchResultsUpdater = resultsController

2)将UISearchResultsUpdating添加到resultsController,如下所示:

class resultsController: UItableVIEwController,UISearchResultsUpdating {

3)添加此函数,也在resultsController中:

func updateSearchResults(for searchController: UISearchController) {}

从那里,你可以获得搜索文本,用它做一些东西,并重新加载tableVIEw:

func updateSearchResults(for searchController: UISearchController) {    let searchText = searchController.searchbar.text!    //Do Stuff with the string    dispatchQueue.main.async {        self.tableVIEw.reloadData()    }}

希望它可以帮助别人!

总结

以上是内存溢出为你收集整理的ios – Swift – 带独立searchResultsController的UISearchController全部内容,希望文章能够帮你解决ios – Swift – 带独立searchResultsController的UISearchController所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1103269.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存