如何以编程方式将搜索栏添加到 UITableView header?
How to programmatically add a search bar to a UITableView header?
我该如何以编程方式将搜索栏添加到 uitable 视图 header 中?具体来说,我有一个栏按钮项目,当它被按下时,我想在搜索栏中设置动画到 table 视图 header 并且当取消按钮被按下时,它将动画退出视图和header 恢复正常。这可能吗?谢谢
它基于 Swift 2 但与 swift 3
差别不大
将搜索委托添加到视图控制器:
UISearchResultsUpdating
进行搜索:
let searchController = UISearchController(searchResultsController: nil)
为 searchController 设置默认值:
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
将搜索添加到 table:
table.tableHeaderView = searchController.searchBar
这位代表让你知道开始搜索:
func updateSearchResultsForSearchController(searchController: UISearchController) {
filterContentForSearchText(searchController.searchBar.text!)
}
实现您的搜索功能:
func filterContentForSearchText(searchText: String, scope: String = "All") {
// do some stuff
}
以编程方式设置搜索栏
首先将 UISearchBarDelegate 添加到您的 class
let searchBar = UISearchBar()
searchBar.frame = CGRect(x: 0, y: 0, width: 200, height: 70)
searchBar.delegate = self
searchBar.showsCancelButton = true
searchBar.searchBarStyle = UISearchBarStyle.default
searchBar.placeholder = " Search Here....."
searchBar.sizeToFit()
并将搜索栏添加到 UITableView header
tableView.tableHeaderView = searchBar
我该如何以编程方式将搜索栏添加到 uitable 视图 header 中?具体来说,我有一个栏按钮项目,当它被按下时,我想在搜索栏中设置动画到 table 视图 header 并且当取消按钮被按下时,它将动画退出视图和header 恢复正常。这可能吗?谢谢
它基于 Swift 2 但与 swift 3
差别不大将搜索委托添加到视图控制器:
UISearchResultsUpdating
进行搜索:
let searchController = UISearchController(searchResultsController: nil)
为 searchController 设置默认值:
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
将搜索添加到 table:
table.tableHeaderView = searchController.searchBar
这位代表让你知道开始搜索:
func updateSearchResultsForSearchController(searchController: UISearchController) {
filterContentForSearchText(searchController.searchBar.text!)
}
实现您的搜索功能:
func filterContentForSearchText(searchText: String, scope: String = "All") {
// do some stuff
}
以编程方式设置搜索栏
首先将 UISearchBarDelegate 添加到您的 class
let searchBar = UISearchBar()
searchBar.frame = CGRect(x: 0, y: 0, width: 200, height: 70)
searchBar.delegate = self
searchBar.showsCancelButton = true
searchBar.searchBarStyle = UISearchBarStyle.default
searchBar.placeholder = " Search Here....."
searchBar.sizeToFit()
并将搜索栏添加到 UITableView header
tableView.tableHeaderView = searchBar