• ios 去掉屏幕键盘的方法


    //定义两个文本框
    UITextField *textName;
    UITextField *textSummary;
    
    //点击return 按钮 去掉
    -(BOOL)textFieldShouldReturn:(UITextField *)textField
    {
        [textField resignFirstResponder];
        return YES;
    }
    //点击屏幕空白处去掉键盘
    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
        [self.textName resignFirstResponder];
        [self.textSummary resignFirstResponder];
    }

           在iOS开发中,对UITextField进行编辑的时候键盘会自己弹出来。在编辑完成的时候,需要将键盘隐藏掉。隐藏键盘有很多种实现方法,最常见的是把TextField的firstResponder resign掉,即[textField resignFirstResponder]。

    下面介绍的是如何在键盘显示的时候,点击屏幕除了键盘以外的任何地方,将键盘隐藏。

    基本思想如下: 1. 在ViewController载入的时候,将键盘显示和消失的Notification添加到self.view里。 2. 分别在键盘显示和消失时添加和删除TapGestureRecognizer 就这么简单。

    示例代码如下: UIViewController的源代码里:

    - (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];
    }
  • 相关阅读:
    2.4 Git 基础
    MySQL的连接命令
    linux中的ls、cd、pwd命令
    Vim 快速入门之基本命令
    linux 中查看进程、杀死进程、进入进程的命令
    linux下文件夹的创建、复制、剪切、重命名、清空和删除的命令
    Linux下tar压缩和解压缩命令详解
    用Windows远程桌面连接树莓派的方法
    MariaDB数据库安装完需要初始化操作
    linux设置服务为自动启动和关闭并禁用的命令
  • 原文地址:https://www.cnblogs.com/wyqfighting/p/3164551.html
Copyright © 2020-2023  润新知