使用UITextFiled收回键盘的几种方法
2016-06-23 15:15
411 查看
在使用UITextFiled经常会遇到需要收回键盘的情形,下面列出了两种情况并提供了解决方法。
第一种情况:输入完后通过点击键盘上的return、done等按钮收回键盘
解决方法:实现UITextFieldDelegate中的textFieldShouldReturn方法,代码如下:#pragma mark - UITextFieldDelegate
// 监听键盘Return事件
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
switch (textField.returnKeyType) {
// 键盘为done的Case
case UIReturnKeyDone:
[textField resignFirstResponder];
break;
default:
break;
}
return YES;
}
第二种情况:当前焦点在输入框,通过点击页面的空白处收回键盘
解决方法:重写UIResponder中的touchesBegan:withEvent方法,代码如下:
#pragma mark - 监听View点击事件
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
UITouch *touch = touches.anyObject;
// 如果点击到UITextField以外的View则收回键盘
if (![touch.view isKindOfClass:[UITextField class]]) {
[self.view endEditing:YES];
}
}
第一种情况:输入完后通过点击键盘上的return、done等按钮收回键盘
解决方法:实现UITextFieldDelegate中的textFieldShouldReturn方法,代码如下:#pragma mark - UITextFieldDelegate
// 监听键盘Return事件
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
switch (textField.returnKeyType) {
// 键盘为done的Case
case UIReturnKeyDone:
[textField resignFirstResponder];
break;
default:
break;
}
return YES;
}
第二种情况:当前焦点在输入框,通过点击页面的空白处收回键盘
解决方法:重写UIResponder中的touchesBegan:withEvent方法,代码如下:
#pragma mark - 监听View点击事件
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
UITouch *touch = touches.anyObject;
// 如果点击到UITextField以外的View则收回键盘
if (![touch.view isKindOfClass:[UITextField class]]) {
[self.view endEditing:YES];
}
}
相关文章推荐
- Verify Preorder Sequence in Binary Search Tree
- Java基础:StringBuilder、StringBuffer和String
- easyui里面的API=====》 load
- jenkins视图插件build monitor view
- [字符编码]Invalid byte 1 of 1-byte UTF-8 sequence终极解决方案
- tablayout在移动中如何计算子控件的坐标
- ueditor编辑器
- dyld:Library not loaded. Reason:no suitable image found
- NGUI中Loading条制作
- 【腾讯TMQ】5小时搞定谷歌原生自动化框架UiAutomator1.0
- poj 2593 Max Sequence(预处理dp)
- Material Design 最全解析_2 设计篇
- 自定义控件之A-Z快速检索QuickIndexBar
- edgesForExtendedLayout属性
- UITableView默认选中第一个cell
- Android Studio Gradle Build Running 特别慢的问题探讨
- Html中value和name属性的作用及其使用介绍!
- android Gui系统之SurfaceFlinger(4)
- Count Univalue Subtrees
- 判断request是否是ajax