IOS 单击 UISearchBar 时显示最后 10 个搜索字符串的数组
IOS display array of last 10 search string when click at UISearchBar
我正在使用 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 以显示过滤结果)。
你必须自己实施。每当用户单击 UISearchBar
时,都会调用委托,您可以在其下方显示附加的 UITableView
,列出 10 个最近的搜索(如果有的话)。
当用户搜索某些内容时,将其添加到您维护的最近搜索中array/queue。
如果用户点击任何最近搜索的项目,即 UITableView
,将调用 didSelectRow
委托,您可以搜索该字符串并重新组织最近的搜索 array/queue。
我正在使用 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 以显示过滤结果)。
你必须自己实施。每当用户单击 UISearchBar
时,都会调用委托,您可以在其下方显示附加的 UITableView
,列出 10 个最近的搜索(如果有的话)。
当用户搜索某些内容时,将其添加到您维护的最近搜索中array/queue。
如果用户点击任何最近搜索的项目,即 UITableView
,将调用 didSelectRow
委托,您可以搜索该字符串并重新组织最近的搜索 array/queue。