如何在程序中触发UISearchBar的取消按钮,就像您点击取消按钮一样?
我在一个UITableView的顶部有一个UISearchBar,在搜索之后,当有人选择一行时,我想在程序中触发UISearchBar中的取消按钮。
编辑:无需用户交互。
我在一个UITableView的顶部有一个UISearchBar,在搜索之后,当有人选择一行时,我想在程序中触发UISearchBar中的取消按钮。
编辑:无需用户交互。
使用搜索显示控制器的视图控制器,您可以设置
self.searchDisplayController.active = NO;
// or:
[self.searchDisplayController setActive:NO animated:YES];
关闭搜索界面。对于2014年iOS 8推出的新UISearchController,您可以调用:
[self.searchController setActive:FALSE];
或者self.searchController.active = FALSE;
(对于动画没有标志,我发现它总是有动画效果。)
您需要实现UISearchBarDelegate
。完成后,请使用:
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
告知委托取消按钮已被点击。
然后使用:
[self searchBarCancelButtonClicked:yourSearchBar];
在iOS 8中,使用UISearchController
来实现编程方式的取消按钮操作,
请使用以下方法:
[self.searchController setActive:NO];
对于Swift 4.2版本,您可以编写以下代码:
searchController?.isActive = false
self.navigationItem.searchController?.isActive = false // above iOS 8.0
// or:
self.searchDisplayController.active = NO; // was deprecated in iOS 8.0
// or:
[self.searchDisplayController setActive:NO animated:YES]; // Obejective-C