注:以下方法的运行环境为(ios7、Xcode5.1)。
首先,当点击UISearchBar时,触发下面函数,并在函数中进行相关设置,可实现功能:
1)弹出取消按钮;
2)将取消按钮设置为“取消”(默认为“cancel”)。
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
searchBar.showsCancelButton = YES; //显示“取消”按钮
for(id cc in [searchBar subviews])
{
for (UIView *view in [cc subviews]) {
if ([NSStringFromClass(view.class) isEqualToString:@"UINavigationButton"])
{
UIButton *btn = (UIButton *)view;
[btn setTitle:@"取消" forState:UIControlStateNormal];
}
}
}
}
当点击取消按钮时,响应以下函数,实现功能:
1)隐藏取消按钮;
2)取消输入。
-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
searchBar.showsCancelButton = NO;
searchBar.text = nil;
[searchBar resignFirstResponder];
}