当我在键盘外触摸时,UIKeyboard不会隐藏

时间:2012-01-31 09:59:15

标签: objective-c ios xcode uikeyboard

当我在键盘外触摸时,没有找到隐藏键盘的方法,如果我在键盘外面点击,是否有任何可能隐藏键盘的事件。 感谢

3 个答案:

答案 0 :(得分:12)

在ViewController.m中写入touches的开始方法。在该方法中写入resignFirstResponder

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
 [textField resignFirstResponder];

}

答案 1 :(得分:8)

这是一个更好的解决方案,适用于视图控制器中的任何UITextField。你甚至可以将它添加到你的基本视图控制器(如果你有一个),它将像一个魅力。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    UITouch *touch = [[event allTouches] anyObject];

    if (![[touch view] isKindOfClass:[UITextField class]]) {
        [self.view endEditing:YES];
    }
    [super touchesBegan:touches withEvent:event];
}

答案 2 :(得分:0)

不,你需要自己做。通常的方法是在屏幕上放置一个透明按钮(但在文本字段下方),然后在按钮的操作上...

- (void)dismissPressed:(id)sender {
  [myTextField resignFirstResponder];
}