1

可能重复:
在 UITextField 之外的任何地方触摸时关闭键盘

我在我的应用程序中使用 UIScrollView。我放了几个文本字段和按钮。当他们触摸文本框之外时,我想隐藏我的键盘。(我的意思是他们将在 uiscrollview 上录制)。我已经尝试了很多东西...我使用 UIGestureRecognizer 但它不起作用...请帮助

4

2 回答 2

2

这是刚刚尝试过的解决方案,它有效..希望有帮助

将以下代码添加到您的 viewDidLoad;

-(void)viewDidLoad {
    //create a tapGesture which calls a removeKeyboard method
    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(removeKeyboard)];

    tapGesture.cancelsTouchesInView = NO;

    [self.yourScrollView addGestureRecognizer:tapGesture];
}

-(void)removeKeyboard {
    [self.yourTextField resignFirstResponder];
}

希望有帮助....

于 2012-10-01T21:31:10.647 回答
1

在您的视图中尝试以下代码...

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *touch = [[event allTouches] anyObject];
    if ([yourTextView isFirstResponder] && [touch view] != yourTextView) {
        [yourTextView resignFirstResponder];
    }
}
于 2012-10-01T20:53:14.297 回答