美文网首页
UITextField收起键盘

UITextField收起键盘

作者: 随身9把刀 | 来源:发表于2018-02-03 15:13 被阅读28次

UITextField收起键盘的方法有:

让textFiled放弃成为第一响应者(resignFirstResponder)

让view或者子view强制结束编辑状态(endEditing)

1.输入完以后用户点击return后收起键盘。

可以点击return收起键盘并不意味着弹出来的键盘一定都有return这个按键,比如数字键盘类型就没有,UIKeyboardTypeWebSearch类型的键盘return键就变成了Go键,需要注意的是这时候的Go键相当于return键。

要想实现点击return让键盘收起,首先需要设置textField代理,当然还有遵循UITextFieldDelegate协议:

_textField.delegate =self;

然后实现协议方法- (BOOL)textFieldShouldReturn:(UITextField *)textField;,当然你也可以在这个方法里 main实现一些需求逻辑,比如判断输入的内容符不符合要求等。

- (BOOL)textFieldShouldReturn:(UITextField*)textField{return[textField resignFirstResponder];}

2.点击背景后收起键盘

点击背景收起键盘可以实现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上面加手势,添加UIButton或者view,然后在对应的点击事件的监听方法中实现resignFirstResponder或者endEditing。

UITapGestureRecognizer*tapGestureRecognizer = [[UITapGestureRecognizeralloc] initWithTarget:selfaction:@selector(keyboardHide:)];//设置成NO表示当前控件响应后会传播到其他控件上,默认为YES。  tapGestureRecognizer.cancelsTouchesInView =NO;//将触摸事件添加到view上[self.view addGestureRecognizer:tapGestureRecognizer];

-(void)keyboardHide:(UITapGestureRecognizer*)tap{      [textFiled resignFirstResponder];  }

3.不用view实现endEditing的方法

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

[[[UIApplicationsharedApplication] keyWindow] endEditing:YES];

或者

[[UIApplicationsharedApplication] sendAction:@selector(resignFirstResponder) to:nilfrom:nilforEvent:nil];

相关文章

  • UITextField收起键盘

    UITextField收起键盘的方法有: 让textFiled放弃成为第一响应者(resignFirstRespo...

  • oc UITextField隐藏键盘

    创建一个UITextField,弹出键盘,但会遇到一个问题,键盘会挡住界面或者希望当点击其他地方时键盘收起。 参考...

  • 文本控件之UITextField

    UITextField控件在登录注册这类填表的页面中常常用到,这里讨论采用的几个体验点 键盘的收起 scrollV...

  • iOS - UITextFiled常用属性设置

    UITextField## 弹出键盘

  • UITextField

    UITextField 文本输入控件的使用 自定义UITextField样式 响应UITextField的键盘通知

  • iOS文本输入专题

    UITextField隐藏键盘 方式一.设置UITextField的代理,实现UITextFieldDelegat...

  • Android关于键盘相关知识

    弹出键盘和收起键盘 弹出键盘 关闭键盘 监听键盘的回车键 监听键盘弹出和收起以及键盘高度 最近开发总结(关于键盘监...

  • textfield

    不让键盘挡住,UITextField键盘点击Done按钮隐藏键盘 UITextFieldhttp://www.pr...

  • UITextField 键盘

    typedefenum{ UIKeyboardTypeDefault,// 默认键盘:支持所有字符UIKeyb...

  • iOS开发-关闭/收起键盘方法总结

    收起键盘的方法: 1、点击Return按扭时收起键盘 - (BOOL)textFieldShouldReturn:...

网友评论

      本文标题:UITextField收起键盘

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