让iOS键盘在用户点击其它区域的时候隐藏

By | 2012 年 8 月 14 日

实现这个功能很简单,只需要在整个view上创建一个UITapGestureRecognizer

    {//tap gr
        UITapGestureRecognizer *tapGr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)];
        tapGr.cancelsTouchesInView = NO;
        [self.view addGestureRecognizer:tapGr];
        [tapGr release];
    }
-(void)viewTapped:(UITapGestureRecognizer*)tapGr{
    [self.theTextField resignFirstResponder];
}

在这样操作之后,当用户点击键盘以外空白区域的时候,就能自动隐藏键盘了。
下面这句代码挺重要,因为如果没有这一句,在view中的button等可能会无法触发TouchUpInside事件。

        tapGr.cancelsTouchesInView = NO;

发表评论

电子邮件地址不会被公开。 必填项已用*标注