您的位置:首页 > 移动开发 > IOS开发

ios 点击界面空白处隐藏键盘

2015-03-06 15:36 190 查看
IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,用户体验不好,我们可以实现点击键盘以外的空白区域来将键盘隐藏,以下是结合隐藏键盘的几种方法:

第一,两种可以让键盘隐藏的方法:

1.
[view endEditing:YES]
, 这个方法可以让当前View取消第一相应者,从而让View上的所有控件的键盘消失;

2.
[textField resignFirstResponder]
,这个是比较常用的隐藏键盘的方法,即取消当前textField的第一响应者.

第二,下面是几种实现方式:

1.使用View的触摸事件
- (void)touchedBegan:(NSSet *)touched withEvent:(UIEvent *)event;
实现对键盘的隐藏,当点击View的区域就会触发该事件:

- (void)touchedBegan:(NSSet *)touched withEvent:(UIEvent *)event
- {
- [textField residnFirstResponder];
- }


2.对当前View添加触摸手势来实现键盘的隐藏:

- (void)viewDidLoad
- {
- [super viewDidLoad];
- UITapGestureRecognizer *tapGesture = [UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapToHideKeyboard:)];
- }

- (void)tapToHideKeyboard:(UITapGestureRecognizer *)tap
- {
- [textField resignFirstResponder];
- }


第三,修改xib中UIView的Custom class为UIControl,UIControl是一些常用控件如UIButton的父类,是UIView的派生类,实现了对触摸和下按的封装。

1、首先设置xib中得UIView的Custom class为UIControl



2、设置关系事件,将xib中得UIView拖到.h区中



3、编写View的点击事件

- (IBAction)touchView:(id)sender
- {
- [self.view endEditing:YES];
- }


总结:以上即为三种常用的隐藏键盘的方式供大家参考!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: