首页 > 代码库 > 004-实现点击任意屏幕上非文本框点移除键盘

004-实现点击任意屏幕上非文本框点移除键盘

实现点击任意屏幕上非文本框点移除键盘

  我们在开发的过程中若要实现此功能只要将下面这些代码拷贝到你要实现的项目里面就可以实现此功能.

代码如下:

- (void)viewDidLoad{    [super viewDidLoad];        [self setUpForDismissKeyboard];}- (void)setUpForDismissKeyboard {    NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];    UITapGestureRecognizer *singleTapGR =    [[UITapGestureRecognizer alloc] initWithTarget:self                                            action:@selector(tapAnywhereToDismissKeyboard:)];    NSOperationQueue *mainQuene =[NSOperationQueue mainQueue];    [nc addObserverForName:UIKeyboardWillShowNotification                    object:nil                     queue:mainQuene                usingBlock:^(NSNotification *note){                    [self.view addGestureRecognizer:singleTapGR];                }];    [nc addObserverForName:UIKeyboardWillHideNotification                    object:nil                     queue:mainQuene                usingBlock:^(NSNotification *note){                    [self.view removeGestureRecognizer:singleTapGR];                }];}- (void)tapAnywhereToDismissKeyboard:(UIGestureRecognizer *)gestureRecognizer {    //此method会将self.view里所有的subview的first responder都resign掉    [self.view endEditing:YES];}