美文网首页
IOS 关闭键盘

IOS 关闭键盘

作者: starmier | 来源:发表于2019-06-05 20:59 被阅读0次

    我们会和键盘打交道,有时候要求弹出来的键盘类型是数字键盘,有时候要求我们弹出来的是一般的键盘。当我们输入完成的时候,就涉及到在上什么时候收回键盘的事情了。收回键盘分下面的情况来讨论。
    大体来说,收起键盘的方法有:

    • 让TextFiled放弃成为第一响应者(resignFirstResponder)
    • 让View或者子View强制结束编辑状态(endEditing)

    方法一:输入完以后用户点击return后收起键盘

    _taskIdTextField = [[UITextField alloc] initWithFrame:CGRectMake(50 + 70 + 5, self.nowHeight, width - 70 - 5, 25)];
            _taskIdTextField.borderStyle = UITextBorderStyleRoundedRect;
            _taskIdTextField.adjustsFontSizeToFitWidth = YES;
            _taskIdTextField.delegate = self;//<UITextFieldDelegate>
    
    
    - (BOOL)textFieldShouldReturn:(UITextField *)textField
    {
        return [textField resignFirstResponder];
    }
    

    方法二:点击背景后收起键盘
    点击背景收起键盘可以实现view的- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event方法,然后执行view的- (BOOL)endEditing:(BOOL)force;方法。

    • (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event{

    [self.view endEditing:YES]; //实现该方法是需要注意view需要是继承UIControl而来的

    }

    方法三:不用view实现endEditing的方法
    如果说在比较难获取viewController的view时,可以使用下面的方法

    [[[UIApplication sharedApplication] keyWindow] endEditing:YES];
    
    [[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];
    
    

    相关文章

      网友评论

          本文标题:IOS 关闭键盘

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