让iOS键盘在用户点击其它区域的时候隐藏

实现这个功能很简单,只需要在整个view上创建一个UITapGestureRecognizer


{//tap gr

    UITapGestureRecognizer *tapGr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)];

    tapGr.cancelsTouchesInView =NO;

    [self.view addGestureRecognizer:tapGr];

    [tapGr release];

}


-(void)viewTapped:(UITapGestureRecognizer*)tapGr{

    [self.theTextField resignFirstResponder];

}


在这样操作之后,当用户点击键盘以外空白区域的时候,就能自动隐藏键盘了。

下面这句代码挺重要,因为如果没有这一句,在view中的button等可能会无法触发TouchUpInside事件。


tapGr.cancelsTouchesInView =NO;


备注;原文地址“http://blog.unieagle.net/2012/08/14/让ios键盘在用户点击其它区域的时候隐藏/”。



**** **** **** **** **** **** **** **** **** **** **** **** **** 

补充:

一、以下是本人的读后感:

我看到过几种不同的实现方法:

(1)将一个UIButton作为背景(全屏),增加其响应函数:

- (IBAction)backgroundTapped:(id)sender

{

    [self.field1resignFirstResponder];

}

详细请参阅下面的讨论帖子:

http://forums.macrumors.com/showthread.php?t=1044034


(2)通过UIGestureRecognizer类的子类“”响应单击消息,从而实现隐藏键盘。上面所转载的文章就是采用此方法。关于“UIGestureRecognizer”类以及用法,请参考以下网址的文章:

A、《ios的手势操作之UIGestureRecognizer浅析》http://blog.csdn.net/likendsl/article/details/7554150 

B、《使用iOS手势UIGestureRecognizer》      http://www.cocoachina.com/bbs/read.php?tid=105316

C、另外还有一个篇英文文章“UIGestureRecognizer Tutorial in iOS 5: Pinches, Pans, and More!”    http://www.raywenderlich.com/6567/uigesturerecognizer-tutorial-in-ios-5-pinches-pans-and-more

文末附有完整工程的源代码下载地址,可以下载自己编译一遍。


二、几个不错的iOS方面的学习网站

Ahttp://www.raywenderlich.com/        国外的,很多文章附完整工程的源代码,好像免注册即可下载附件,这个是很多国内网站做不到的:P

Bhttp://code4app.com/                 国内的,源代码分享站点,免注册即可下载,运营团队这种乐于分享的精神可嘉!

Chttp://www.cocoachina.com/           这个网站就不用说了!非常不错的一个苹果开发技术交流分享学习平台!

Dhttp://stackoverflow.com/            国外的,我上网搜索iOS方面的问题解决方法时,都会搜索到这个网站。它应该算是国外一个非常热的技术交流网站吧!





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值