Sam*_*ery 1 xcode uisearchbar ios swift
我对 aUISearchBar/UISearchBarDelegate
和 a之间的区别感到困惑UISearchBarController
。
现在,这就是我为实现搜索栏所做的工作:
class SearchViewController: UIViewController {
@IBOutlet weak var searchBar: UISearchBar!
}
extension SearchViewController: UISearchBarDelegate {
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
searchBar.resignFirstResponder()
if !searchBar.text!.isEmpty {
performSegue(withIdentifier: "Search", sender: searchBar.text!)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在网上看到有人在做这样的事情:
let searchController = UISearchController(searchResultsController: nil)
Run Code Online (Sandbox Code Playgroud)
这和我正在做的事情有什么区别?
您的问题有点类似于问“UIView
和之间有什么区别UIViewController
?”
UISearchBar
是一种观点。它有一个文本字段和(可选)一个按钮,仅此而已。
UISearchController
是一个控制“搜索”更抽象行为的控制器。它的工作之一是控制它的行为searchBar
,但它也有许多其他工作,例如告诉searchResultsUpdater
它应该更新搜索结果(因为搜索栏中的文本已更改,或者其他什么)。它还公开诸如obscuresBackgroundDuringPresentation
和 之类的属性,hidesNavigationBarDuringPresentation
以控制当搜索栏是第一响应者时视图的外观。
如果您直接使用UISearchBar
,那么您需要手动实现UISearchController
为您所做的所有这些事情。如果您的意图是创建自己的搜索行为类型UISearchController
,但如果您只想在应用程序中使用简单的旧搜索功能,请使用此功能,UISearchController
因为它会为您节省大量时间。
归档时间: |
|
查看次数: |
1456 次 |
最近记录: |