zoukankan      html  css  js  c++  java
  • 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];
    }
  • 相关阅读:
    4.9Java学习
    我晕了
    注意的
    语句
    第三天JAVA
    JAVA的学习
    JAVA的继承
    JAVA构造方法
    怎么去理解JAVA中类与对象的关系
    Java中三种比较常见的数组排序
  • 原文地址:https://www.cnblogs.com/lszwhb/p/3898366.html
Copyright © 2011-2022 走看看