如何以编程方式触发 UISearchBar 中的取消按钮,就像您点击了取消按钮一样?
我在 UITableView 的顶部有一个 UISearchBar,搜索后,当有人选择一行时,我想以编程方式触发 UISearchBar 中的取消按钮?
编辑:没有用户交互。
如何以编程方式触发 UISearchBar 中的取消按钮,就像您点击了取消按钮一样?
我在 UITableView 的顶部有一个 UISearchBar,搜索后,当有人选择一行时,我想以编程方式触发 UISearchBar 中的取消按钮?
编辑:没有用户交互。
对于使用搜索显示控制器的视图控制器,您可以设置
self.searchDisplayController.active = NO;
// or:
[self.searchDisplayController setActive:NO animated:YES];
关闭搜索界面。
对于新的UISearchController(2014 年与 iOS 8 一起推出),您可以调用:
[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
这些是完成上述任务的一些变体