如何取消UISearchbar中的键盘?

时间:2011-01-23 06:54:33

标签: iphone iphone-softkeyboard

我在我的应用程序中使用UISearchBar,它既可以作为编辑字段,也可以作为搜索。因此,当我想要消失键盘时,我必须在UISearchBar中使用取消按钮,但我不能在屏幕上有取消按钮,那么如果不使用取消按钮不使用T键盘会如何消失。请帮助我,因为我是iPhone应用程序开发的新手。

提前致谢!

3 个答案:

答案 0 :(得分:9)

使用此:


[UISearchBar resignFirstResponder];

只需将UISearchBar一词替换为您创建的对象的名称即可。

答案 1 :(得分:1)

您是否正在寻找可以解除键盘或如何以编程方式实际执行此操作的方法?如果以编程方式,则[UISearchBar resignFirstResponder]。如果您正在寻找一种可供用户实现的方法,您可以让键盘上的返回按钮在按下时重新设置其第一响应者状态,或者将UIGestureRecognizer附加到您的视图并进行设置以便在用户在键盘外点击,这个键盘就会消失。

答案 2 :(得分:1)

您需要做的就是从UISearchbar获取UITextfield控件,然后将UITextfield的委托设置为将执行的任何委托-(void) textFieldShouldReturn:(UITextField *)textField

-(void)viewDidLoad{    
    UIView * subView;
    NSArray * subViews = [searchbar subviews];
    for(subView in subViews)
    {
        if( [subView isKindOfClass:[UITextField class]] )
        {
           ((UITextField*)subView).delegate=self;
            ((UITextField*)subView).returnKeyType=UIReturnKeyDone;
            break;
        }
    }
}

-(BOOL) textFieldShouldReturn:(UITextField *)textField{
    [textField resignFirstResponder];
    return TRUE;
}