IOS 点击空白处隐藏键盘的几种方法

原创 2013年12月03日 10:41:03

IOS7 点击空白处隐藏键盘的几种方法


IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,对于用户体验来说很不友好,我们可以实现点击键盘以外的空白区域来将键盘隐藏,以下我总结出了几种隐藏键盘的方法:


首先说明两种可以让键盘隐藏的Method:

1、[view endEditing:YES]  这个方法可以让整个view取消第一响应者,从而让所有控件的键盘隐藏。

2、[textFiled resignFirstResponder] 这个则是比较常用的让某个textFiled的键盘隐藏。


接下来就是几种实现方式:

第一种: 使用view的touchesBegan:触摸事件来实现对键盘的隐藏,当点击view的区域就会触发这个事件

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    [textFiled resignFirstResponder];
}

第二种:创建自定义的触摸手势来实现对键盘的隐藏:

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

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


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

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


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

设置好事件为Touch Up Inside

3、编写隐藏代码:

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

好了,以上是三种比较常用的隐藏键盘的方法,每种都可以用于不同的场合和它的利与弊,就看如何运用了。



版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS ViewController点击空白处收起键盘

点击ViewController空白处收起键盘
  • u013892686
  • u013892686
  • 2016年05月05日 16:47
  • 3610

iOS开发用最简单粗暴的方法实现点击空白收回键盘

iOS开发用最简单粗暴的方法实现点击空白收回键盘
  • l2i2j2
  • l2i2j2
  • 2016年05月10日 23:57
  • 924

iOS点击空白处和和return键,回收键盘,隐藏键盘

//定义两个文本框  UITextField *textName;  UITextField *textSummary;      //点击return 按钮 去掉  -(...
  • u013538542
  • u013538542
  • 2015年09月21日 23:34
  • 3137

iOS 使用UITextField隐藏键盘

1、点击键盘return,触发代码隐藏:
  • miaojunking
  • miaojunking
  • 2014年09月07日 22:21
  • 10426

IOS中键盘隐藏几种方式

在ios开发中,经常需要输入信息。输入信息有两种方式: UITextField和UITextView。信息输入完成后,需要隐藏键盘,下面为大家介绍几种隐藏键盘的方式。 点击键盘上的return按钮...
  • JerehEdu
  • JerehEdu
  • 2015年05月12日 09:26
  • 999

IOS开发——隐藏键盘的4种方法

IOS开发隐藏键盘的4种方法开发的app中常会用到键盘输入完成后隐藏键盘的情况.在此总结了4种方法来实现我们的目的.方法一——delegate方式第一种隐藏键盘的方法,称为delegate三步法: ...
  • senwin2009
  • senwin2009
  • 2015年10月12日 11:19
  • 1451

iOS-UITextField和UITextView隐藏键盘

self._textField.returnKeyType=UIReturnKeyDone; self._textField.delegate=self; - (BOOL)textFieldSho...
  • shijiucdy
  • shijiucdy
  • 2012年03月17日 14:31
  • 11142

iOS 隐藏键盘,输入法,防止遮挡输入框

在百度里输入“ios 隐藏键盘”,很快搜出很多文章。比如:“点击return隐藏”,“点击输入框其他地方隐藏”,等等还有的大篇大论的。 其实隐藏输入法也简单,我们应该抓住其本质:即调用res...
  • hherima
  • hherima
  • 2013年03月12日 12:16
  • 3137

iOS隐藏键盘实现和针对键盘遮挡输入控件的解决

iOS中,常见的输入控件主要有UITextField和UITextView。下面分别介绍针对这两种控件的实现。 新建一个项目,从设计器中拖入一个UITextField和一个UITextView,建立设...
  • a1546488968
  • a1546488968
  • 2015年04月20日 12:21
  • 1794

iOS开发中的键盘显示和隐藏

应用中,跟用户交互功能必不可少! 处理键盘的显示/隐藏可能会比较苦恼,尤其在iOS8出来之后,开放了键盘接口,允许使用第三方输入法,从而导致了键盘事件处理的错综复杂。比如说,像百度输入法,键盘右...
  • codeblshi
  • codeblshi
  • 2014年12月20日 12:19
  • 1415
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS 点击空白处隐藏键盘的几种方法
举报原因:
原因补充:

(最多只允许输入30个字)