我正在开发一个关于XCode 5的应用程序,但我找不到答案。
哪种方法可以控制UISearchBar
上的“X”按钮?我试过
-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
但它不起作用
有任何线索吗?
提前致谢!
答案 0 :(得分:0)
这是您正在寻找的方法
- (BOOL)textFieldShouldClear:(UITextField *)textField;
但这是UITextFields委托方法,你需要设置UISearchBar文本字段的委托。见这个
在标题(.h)文件中
符合代表。 <UISearchBarDelegate, UITextFieldDelegate>
- (void)viewDidLoad
{
//find the UITextField view within searchBar (outlet to UISearchBar)
//and assign self as delegate
for (UIView *view in searchBar.subviews)
{
if ([view isKindOfClass: [UITextField class]])
{
UITextField *tf = (UITextField *)view;
tf.delegate = self;
break;
}
}
}
- (void)searchBarCancelButtonClicked:(UISearchBar *) aSearchBar
{
[aSearchBar resignFirstResponder];
}
- (BOOL)textFieldShouldClear:(UITextField *)textField
{
[self performSelector:@selector(searchBarCancelButtonClicked:) withObject:self.searchBar afterDelay: 0.1];
return YES;
}
答案 1 :(得分:0)
试试这个,
子类UISearchBar
@interface CustomSearchBar : UISearchBar
并添加UITextField
- (BOOL)textFieldShouldClear:(UITextField *)textField
在那门课上。希望这会有所帮助。