在我的项目中,我使用UITableViewController
带有内部的 aUISearchController
来过滤tableView
.
我过滤数据没有问题,但是tableView
当我单击“取消”按钮时,我需要确定重新加载的日期,UISearchController
但我找不到为此的委托方法......
你能帮我理解如何解决这个问题吗?
在我的项目中,我使用UITableViewController
带有内部的 aUISearchController
来过滤tableView
.
我过滤数据没有问题,但是tableView
当我单击“取消”按钮时,我需要确定重新加载的日期,UISearchController
但我找不到为此的委托方法......
你能帮我理解如何解决这个问题吗?
您需要设置UISearchController
searchBar's
delegate
. 完成此操作后,searchBarCancelButtonClicked:
将正确调用添加的委托方法。
self.searchController.searchBar.delegate = self;
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
}
如果你实现UISearchResultsUpdating
了协议,你可以知道 cancel 是在 is 时触发active
的false
。
func updateSearchResultsForSearchController(searchController: UISearchController) {
if !searchController.isActive {
print("Cancelled")
}
}
斯威夫特 5
searchBar.delegate = self
.......
extension YourClass: UISearchBarDelegate {
func searchBarCancelButtonClicked(_ searchBar: UISearchBar){}
}