我目前在UISearchController
的标题视图中实现了一个正常工作的UITableViewController
。我希望我的其他观点也能照搬,但有些是UICollectionViewController
。有没有一种方法可以创建一个UISearchController
并仅在标题内的所有视图中调用它们?所有结果必须显示在表格中。
我曾尝试为每个视图创建一个视图,但是UICollectionViewController
给了我一些问题。我不知道如何为搜索控制器设置和更新表格。它不允许我重写tableView
方法,因为我猜控制器是CollectionView
。
任何帮助表示赞赏。
编辑:
还应该补充说,所有视图的搜索方法/数据都将相同。请以普通的iOS音乐应用程序如何使用搜索栏为例。
编辑2:
我差点破解了(我认为)。我已经设置了一个单例“ SharingManager”,在此我有3个数组。现在,我有2个视图,一个名为ArtistsView,一个SearchTableViewController。搜索视图包含所有表方法,并且ArtistsView使用以下方法与之通信:
self.searchResultsController = UISearchController(searchResultsController:SearchTableViewController())
我还将单例中的变量复制到SearchTableViewController中的变量。
我现在遇到的问题是未调用cellForRowAtIndexItem方法。所有其他的都是,我什至可以看到该节的标题正在显示。我已经设置了各种println()语句来查看哪里出错了,numberOfRowsInSection也返回正确的数字。有任何想法吗?
最佳答案
过去,我为解决此类问题所做的工作似乎是最灵活的,因此,当您点击搜索栏时,您的应用程序实际上会过渡到另一个用于处理搜索和搜索结果的视图控制器。
您希望使用每个屏幕上的假搜索栏按钮。
轻按搜索栏时,请为当前的视图控制器加屏盖。
将屏幕盖设置为搜索结果控制器的背景,如果愿意,可以将其模糊或变暗一点,以免干扰搜索结果。
在以前的视图控制器和新的搜索结果控制器之间进行淡化过渡。
您将能够给用户留下他们从未离开过原来屏幕的印象。