Phi*_*ott 38 iphone cocoa-touch
我有一个标准的表视图,通过NIB实现UISearchController.我想模仿当用户点击搜索栏中的"取消"时会发生什么 - 正常的行为是搜索栏消失并且表格返回其原始状态.基本上,当用户选择出现在搜索结果中的项目时,我希望发生同样的事情.
当用户点击"取消"时,我找不到任何地方的过程.
小智 130
这是一个古老的问题,但我只是反对这一两个小时,最后想出来,所以我想我会分享后代.起初我尝试做一些事情,例如手工辞职第一响应者/删除搜索文本/等,但在这个视图中我希望用户能够多次使用搜索栏,手动操作意味着搜索栏会每次用户再次开始编辑时都必须重新设置 - 似乎是错误的方法.这是我做的:
我已经在Interface Builder中添加了带有可选搜索显示控制器的搜索栏.在我的实现中,我设置了一个UISearchDisplayController IBOutlet,然后使用IB将其链接到搜索显示控制器.最后,在我想要关闭搜索栏的地方,我只需要打电话:
[mySearchController setActive:NO];
Run Code Online (Sandbox Code Playgroud)
奇迹般有效!
小智 5
通常,searchBarCancelButtonClicked:方法看起来像这样:
yourSearchBar.text = @"";
[yourTableView reloadData];
[yourSearchBar resignFirstResponder];
Run Code Online (Sandbox Code Playgroud)
小智 5
以下是我在几个小时的实验后如何解决这个问题=)
for(UIView *subView in self.searchDisplayController.searchBar.subviews){
if([subView isKindOfClass:UIButton.class])
{
UIButton *cancelButton = (UIButton*)subView;
[cancelButton sendActionsForControlEvents: UIControlEventTouchUpInside];
break;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25812 次 |
最近记录: |