Ios 如何在用户点击搜索栏时显示tableview

Ios 如何在用户点击搜索栏时显示tableview,ios,swift,uitableview,swift2,uisearchdisplaycontroller,Ios,Swift,Uitableview,Swift2,Uisearchdisplaycontroller,我需要一个tableview在用户点击搜索栏后以模式显示,然后能够让tableview显示用户搜索的内容,比如Instagram的搜索功能。google上有很多关于如何制作搜索功能的教程,但没有一个是关于用户点击搜索栏后如何显示tableview的。我应该怎么做?要使UISearchController的搜索结果显示在您选择的新UITableView中,请执行以下操作: let searchController = UISearchController(searchResultsControll

我需要一个tableview在用户点击搜索栏后以模式显示,然后能够让tableview显示用户搜索的内容,比如Instagram的搜索功能。google上有很多关于如何制作搜索功能的教程,但没有一个是关于用户点击搜索栏后如何显示tableview的。我应该怎么做?

要使
UISearchController
的搜索结果显示在您选择的新
UITableView
中,请执行以下操作:

let searchController = UISearchController(searchResultsController: myTableViewController)
与此相反:

let searchController = UISearchController(searchResultsController: nil)
将视图控制器传递给构造函数允许
UISearchController
在适当的时间(即搜索处于活动状态时)显示视图控制器。这就是你需要做的


传递
nil
意味着我正在使用自己的视图控制器(和表视图)

我不明白你想要的和在那个例子中解释的有什么区别,搜索栏在tableview中。我的搜索栏位于collectionview中,我希望在用户点击搜索栏后显示一个tableview。因此,您可以将tableview添加到控制器中,并使其不会在每次用户搜索搜索栏中的内容时隐藏?@Chajmz,这不起作用,因为搜索栏是tableview的一部分,因此,如果您隐藏了Tableview,您最终也隐藏了SearchBar是的,您可以在情节提要中创建它,为它提供一个情节提要ID,并使用
实例化控件标识符(:)在代码中实例化它
UIStoryboard的功能。我是否应该将
UISearchBarDelegate
协议的委托设置为collectionview或tableview?至少,您只需要
UISearchResultsUpdate
,其委托方法
更新搜索控制器的搜索结果(\u:)每当用户更改搜索文本时,都会调用
。您可以在表视图控制器中实现这一点,并将其传递给
UISearchController
的构造函数以执行实际搜索并重新加载表视图。请原谅Pirlo或Paulvs,您可以发布一个示例,其中包含此问题的完整代码,该示例可以完美地工作,我正试图按照Paul的答案做同样的事情,但无法工作,当我单击按钮搜索时,搜索控制器上只显示搜索栏,而不是键入tableView没有显示的内容。