IOS 点击输入框外的屏幕空白处隐藏键盘

来源:互联网 发布:非农数据公布网址 编辑:程序博客网 时间:2024/05/05 08:38

1. ViewController载入的时候,将键盘显示和消失的Notification添加到self.view里。

2. 分别在键盘显示和消失时添加和删除TapGestureRecognizer

- (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];}




0 0
原创粉丝点击