美文网首页
3 -- 收回键盘几种方法

3 -- 收回键盘几种方法

作者: _Nevermore | 来源:发表于2016-08-08 14:45 被阅读0次

    收起键盘的方法:

    1、点击Return按扭时收起键盘
    - (BOOL)textFieldShouldReturn:(UITextField *)textField{ return     [textField resignFirstResponder];}
    
    
    2、点击背景View收起键盘(你的View必须是继承于UIControl)
    [self.view endEditing:YES];
    
    
    3、你可以在任何地方加上这句话,可以用来统一收起键盘
    [[[UIApplication sharedApplication] keyWindow] endEditing:YES];
    

    这个方法是我不久前碰到的,觉得有用,就记下来了。

    4. 还有一个方法是直接发送 resignFirstResponder 消息:
    [[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];
    

    该点源自:《iOS开发进阶》 —— 唐巧

     5.补充(其他书上看的)
    5.1
    用户按下键盘上的Done按钮时,会产生一个Did End On Exit 事件,所以可以从TextField控件拖一个点击事件
    执行方法:
    {
        [sender resignFirstResponder];
    }
    5.2 
    不是所有类型的键盘都有Done按钮,那么可以触摸背景view退出键盘
    1.首先,把xib中的View的底层类由UIView更改为UIControl.
    2.把View的Touch Down 拖一根线到控制器,执行
    {
        [self.textField resignFirstResponder];    
    }
    另外,个人觉得直接在touchesBegin方法里执行上面的方法也可以,不过感觉有点low.
    

    总结
    我总结出来了四种收起键盘的方法,使用场合如下:当你能获取到 UITextField 对象时,最好使用 [obj resignFirstResponder] 方法; 如果有很多个 UITextField 对象,你也可以获取到 viewController 的 view 时,你可以使用 [[[UIApplication sharedApplication] keyWindow] endEditing:YES] 方法; 如果当前 ViewController比较难获取,那么可以使用第3种或第4种方法。

    相关文章

      网友评论

          本文标题:3 -- 收回键盘几种方法

          本文链接:https://www.haomeiwen.com/subject/yjrrsttx.html