zoukankan      html  css  js  c++  java
  • 键盘问题

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

    }

    梦想不是挂在嘴边炫耀的空气,而是需要认真的实践,等到对的风,我们展翅翱翔;没有风,只要拥有足够强壮的翅膀,我们照样拔地飞行。天空见。
  • 相关阅读:
    第十八课 顺序存储线性表的分析
    第十七课 StaticList和DynamicList实现
    第十六课 顺序存储结构的抽象实现
    第十五课 线性表的顺序存储结构
    第十四课 线性表的本质和操作
    第十三课 类族结构的进化
    第十二课 顶层父类的创建
    第十一课 异常类构建
    HDU 5773The All-purpose Zero
    HDU 5755 Gambler Bo
  • 原文地址:https://www.cnblogs.com/size/p/5908231.html
Copyright © 2011-2022 走看看