在我的项目中,我使用内部UITableViewController
的{{1}}来过滤UISearchController
中的数据。
我没有问题来过滤数据,但是当我点击取消按钮tableView
时我需要重新加载tableView
的日期,但我找不到这个代表方法......
你能帮我理解如何解决这个问题吗?
答案 0 :(得分:42)
您需要设置UISearchController
searchBar's
delegate
。完成此操作后,将正确调用委托方法searchBarCancelButtonClicked:
的添加。
self.searchController.searchBar.delegate = self;
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
}
答案 1 :(得分:16)
如果您实施UISearchResultsUpdating
协议,则可以知道active
为false
时已取消已取消。
func updateSearchResultsForSearchController(searchController: UISearchController) {
if !searchController.isActive {
print("Cancelled")
}
}
答案 2 :(得分:0)
雨燕5
searchBar.delegate = self
.......
extension YourClass: UISearchBarDelegate {
func searchBarCancelButtonClicked(_ searchBar: UISearchBar){}
}