织梦CMS - 轻松建站从此开始!

罗索

触摸非输入区(背景)使UITextField(UISearchBar)键盘消失的方法

落鹤生 发布于 2012-12-04 15:35 点击:次 
在iOS上出现软键盘后,希望点击非键盘部分,隐藏键盘,即使键盘消失的方法讨论。
TAG:

在iOS上出现软键盘后,希望点击非键盘部分,隐藏键盘,即使键盘消失的方法讨论。

第一种方法:增加一个button,相应touch down事件,隐藏键盘。这种方法,太山寨了。为了相应一个事件增加一个button太不值得的。

第二种方法:在背景图片上添加Tap事件,相应单击处理。这种方法,很好代替了button方式,但是如果UI上没有背景图片,这种方法又回到到第一种山寨的方法行列中。

  1. // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 
  2. - (void)viewDidLoad 
  3.     [super viewDidLoad]; 
  4.      
  5.     // 添加带有处理时间的背景图片 
  6.     UIImageView *backView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0
  7. , self.view.bounds.size.width, self.view.bounds.size.height)]; 
  8.     backView.image = [UIImage imageNamed:@"small3.png"]; 
  9.      
  10.     backView.userInteractionEnabled = YES; 
  11.     UITapGestureRecognizer *singleTouch = [[UITapGestureRecognizer alloc] initWithTarget
  12. :self action:@selector(dismissKeyboard:)]; 
  13.     [backView addGestureRecognizer:singleTouch]; 
  14.      
  15.     backView.tag = 110; 
  16.     [self.view addSubview:backView]; 
  17.      
  18.     // 添加uitextfield 
  19.     text = [[UITextField alloc] initWithFrame:CGRectMake(30, 150, 250, 31)]; 
  20.     //[text setBackgroundColor:[UIColor grayColor]]; 
  21.     text.borderStyle = UITextBorderStyleRoundedRect; 
  22.     text.placeholder = @""
  23.     [self.view addSubview:text]; 
  24.     // 添加返回按钮 
  25.      
  26.     UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
  27.     button.frame = CGRectMake(125, 40, 75, 35); 
  28.     [button addTarget:self action:@selector(done:) 
  29. forControlEvents:UIControlEventTouchUpInside]; 
  30.     //[button setBackgroundColor:[UIColor grayColor]]; 
  31.     [button setTitle:@"返回" forState:UIControlStateNormal]; 
  32.      
  33.     [self.view addSubview:button]; 
  34.  
  35. -(void)dismissKeyboard:(id)sender{ 
  36.     [text resignFirstResponder]; 

第三种方法:在xib文件中,修改xib文件的objects属性,默认是view属性,我们可以修改为UIControl属性,从而是xib文件 相应touch down事件。这种方法,缺点就是没有xib就悲剧了。不过按说也应该可以动态设置,目前没有找到方法,那位网友知道的话,不妨告诉我下。

设置参考这里:

把objects设置未control后,可以直接相应touch down事件

 

综合以上三种方法,编写了一个例子,大家可以下载看看代码

 

代码点击这里下载 下载代码

(ugg)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201212/16410.html]
本文出处:CSDN博客 作者:ugg 原文
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
相关文章
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容