我正在使用UICollectionViewController
开发应用。我正在使用UISearchController
实现搜索功能。这就是我所做的:
var searchController: UISearchController!
override func viewDidLoad() {
searchController = UISearchController(searchResultsController: nil)
searchController.delegate = self
searchController.searchBar.delegate = self
searchController.searchResultsUpdater = self
searchController.searchBar.placeholder = "Search for article"
searchController.hidesNavigationBarDuringPresentation = false
self.navigationItem.titleView = searchController.searchBar
searchController.searchBar.sizeToFit()
definesPresentationContext = true
}
问题是,当用户点击UISearchBar
时,我们如何才能显示10个最近搜索字符串的列表?并检测用户是否单击任何先前的搜索结果(要重新加载collectionView以显示筛选结果)。
答案 0 :(得分:1)
您必须自己实施。每当用户点击audioMedia = new MediaPlugin(storageDirectory + "test.mp3");
audioMedia.play();
时,系统会调用一名代理,您可以在其下方显示UISearchBar
,其中列出了最近的10次搜索(如果有的话)。
当用户搜索某些内容时,请将其添加到您维护的最近搜索数组/队列中。
如果用户点击任何最近搜索的项目,即在UITableView
上,将调用UITableView
委托,您可以搜索该字符串并重新组织最近的搜索阵列/队列。