iOS: 让键盘消失的的4种方法
2014-05-19 16:50
169 查看
转自:http://leopard168.blog.163.com/blog/static/168471844201422121310352/
在iOS app中,只要用到编辑框(UITextField)的地方,就得处理键盘消失 (dismiss keyboard)。
我先后用过4种方法,来处理键盘消失的问题。
1. 通过UITextFiledDelegate,来释放第一响应者 (resignFirstResponder); 这种通过delegate释放键盘的代码如下:
-(BOOL)textFieldShouldReturn:(UITextField*)textField {
[textField resignFirstResponder];
returnYES;
}
以下3种方法是通过 响应事件来处理的:
2. 通过 Done键的 DidonExit method,来 resignFirstResponder;
3. 点击编辑框的背景图,让键盘消失。 方法: 将背景view 设为: UIControll。 UIView本身不能响应事件,而UIcontroll 是可以响应事件的。 UIControll 继承于 UIView; 通过调用 UIControll的 Touch Down 事件,让键盘消失;
4. 放置一个 UIButton ,将这个UIButton 布满全屏,当点击非编辑区域时,其实就是点击这个巨型的Button。 在这个button 事件中, resignFirstResponder 即可。
-(IBAction)backgroundTap:(id)sender {
[self.nameTextFieldresignFirstResponder];
[self.passwordTextFieldresignFirstResponder];
}
说明:这个method 模拟了用户的两种行为:
1.点击keyboard上的done键,让键盘消失;
2.点击编辑框以外的区域,让键盘消失。
特别说明一点:通过布满全屏的Button,这种方法要求:这个巨型的Button一定要放在最底层。否则的话,编辑框将无法接受输入的事件。
方案点评:
UITextFieldDelegate和UIControll方案,处理键盘消失问题,这是一种大智慧。而巨型Button和 didOnExit 方法,虽然也能用,但从软件编程思想上看,只能算是一种小聪明罢了。
小结:
只要有输入框存在,就得处理如何让键盘消失的问题。当然,你可以仅仅处理点击“done”按钮,来让键盘消失。但为了让用户有更好的体验,需要同时处理非编辑框的区域的事件响应。
在iOS app中,只要用到编辑框(UITextField)的地方,就得处理键盘消失 (dismiss keyboard)。
我先后用过4种方法,来处理键盘消失的问题。
1. 通过UITextFiledDelegate,来释放第一响应者 (resignFirstResponder); 这种通过delegate释放键盘的代码如下:
-(BOOL)textFieldShouldReturn:(UITextField*)textField {
[textField resignFirstResponder];
returnYES;
}
以下3种方法是通过 响应事件来处理的:
2. 通过 Done键的 DidonExit method,来 resignFirstResponder;
3. 点击编辑框的背景图,让键盘消失。 方法: 将背景view 设为: UIControll。 UIView本身不能响应事件,而UIcontroll 是可以响应事件的。 UIControll 继承于 UIView; 通过调用 UIControll的 Touch Down 事件,让键盘消失;
4. 放置一个 UIButton ,将这个UIButton 布满全屏,当点击非编辑区域时,其实就是点击这个巨型的Button。 在这个button 事件中, resignFirstResponder 即可。
-(IBAction)backgroundTap:(id)sender {
[self.nameTextFieldresignFirstResponder];
[self.passwordTextFieldresignFirstResponder];
}
说明:这个method 模拟了用户的两种行为:
1.点击keyboard上的done键,让键盘消失;
2.点击编辑框以外的区域,让键盘消失。
特别说明一点:通过布满全屏的Button,这种方法要求:这个巨型的Button一定要放在最底层。否则的话,编辑框将无法接受输入的事件。
方案点评:
UITextFieldDelegate和UIControll方案,处理键盘消失问题,这是一种大智慧。而巨型Button和 didOnExit 方法,虽然也能用,但从软件编程思想上看,只能算是一种小聪明罢了。
小结:
只要有输入框存在,就得处理如何让键盘消失的问题。当然,你可以仅仅处理点击“done”按钮,来让键盘消失。但为了让用户有更好的体验,需要同时处理非编辑框的区域的事件响应。
相关文章推荐
- iOS: 让键盘消失的的4种方法
- iOS: 让键盘消失的的4种方法
- iOS开发-点击屏幕,键盘消失的极佳方法。
- 让键盘消失的的4种方法
- 技巧-iOS让键盘消失的方法
- 让键盘消失的的4种方法
- ios之让输入键盘隐藏消失的方法/以及系统通知的实现
- IOS开发——隐藏键盘的4种方法
- 打开键盘遮住View的问题解决方法-IOS开发
- iOS上键盘出现时输入框不被覆盖的几种方法分析
- IOS成长之路-去掉屏幕键盘的方法
- ios中UIAlert 提示框自动消失方法,超简单!
- iOS关闭键盘的两种简单方法
- iOS_开发经验总结:键盘遮挡输入框时的解决方法
- 让android的输入键盘消失的方法
- iOS关闭键盘的两种简单方法
- iOS点击键盘以外空白区域隐藏键盘的常见方法
- iOS ipad开发 UIModalPresentationFormSheet模式的VC 无法关闭键盘解决方法
- 取消隐藏ios键盘的方法
- IOS-中英文键盘判断方法学习