美文网首页
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