iOS开发2:隐藏虚拟键盘

 对于文本框和文本视图来说,当它们成为第一响应者时虚拟键盘将出现并一直出现在屏幕上,直到文本框或文本视图退出第一响应者状态。对于iPad程序,其虚拟键盘有一个按钮可以用来关闭虚拟键盘,但是iPhone程序中却没有该按钮。

10多年的金水网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整金水建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“金水网站设计”,“金水网站推广”以来,每个客户项目都认真落实执行。

这一篇文章我使用的是前一篇的Demo,运行该Demo我们可以看到当虚拟键盘出现后就没法再关闭它了。我们可以在按下“Return”键盘关闭虚拟键盘,也可以在轻触文本框外即视图背景关闭键盘。

1.按下“Return”键里关闭虚拟键盘

当用户按下虚拟键盘中的“Return”键时会产生一个“Did End On Exit”事件,此时应通知文本框放弃第一响应状态,这样虚拟键盘就会消失了。

(1)按红色框中的按键调整窗口大小,分别选中两个UITextField控件,按下右键并拖动到

  1. @interface ViewController : UIViewController 

下,把这两个文本框映射到ViewController.h中,在name中的变量名分别为:textPlaceholder和textBackground。注意在Connection处选择的是Outlet。如下所示:

iOS开发2:隐藏虚拟键盘

 

iOS开发2:隐藏虚拟键盘

(2)切换到ViewController.m文件,在代码

  1. @implementation ViewController 

后添加

  1. @synthesize textPlaceholder, textBackground; 

当然,在本测试中我们也可以不添加。但我们需要养成@property与@synthesize配对使用的好习惯。

(3)同(2),选中第一个UITextField控件,按下右键并拖动到@end前,在Connection处选择的是Action,在Name中输入:textFieldReturnDidEndOnExit响应函数名称,在Event中选择“Did End On Exit”。如下所示:

iOS开发2:隐藏虚拟键盘

(4)调整界面如下图,选择第二个文本框,在Connector Inspector中选择Sent Events下的Did End On Exit,从它右边的圆圈中拉出映射线到上一步的textFieldReturnDidEndOnExit响应函数名称上。这样,两个UITextField文本框都映射到了同一个IBAction响应函数:

iOS开发2:隐藏虚拟键盘

(5)调整视图,切换到ViewController.m文件。可见在最后的@end之前有个函数:

  1. - (IBAction)textFieldReturnDidEndOnExit:(id)sender { 

在该函数中添加代码,让文本框放弃第一响应者状态:

  1. [sender resignFirstResponder]; 

运行程序,哈哈,成功了。当我们点击“Return”时虚拟键盘消失了!

 

2.轻触视图背景关闭键盘

步骤跟上面的差不多。

(1)首先选中ViewController_iPhone.xib,选中View,打开Identity Inspector,在Custom Class下的Class处选择UIControl。

iOS开发2:隐藏虚拟键盘

(2)选中背景视图,按下右键并拖动到@end前,在Connection处选择的是Action,在Name中输入:backgroundTap响应函数名称,在Event中选择“Touch Down”。如下所示:

iOS开发2:隐藏虚拟键盘

 

 

iOS开发2:隐藏虚拟键盘

(3) 切换到ViewController.m文件中,可见在@end之前添加了如下IBAction函数:

  1. - (IBAction)backgroundTap:(id)sender { 

在该函数中添加如下代码: 

  1. [textPlaceholder resignFirstResponder]; 
  2. [textBackground resignFirstResponder]; 

 运行程序,可见如下效果:

 

iOS开发2:隐藏虚拟键盘iOS开发2:隐藏虚拟键盘

 

 

 

附件:http://down.51cto.com/data/2362733

网站栏目:iOS开发2:隐藏虚拟键盘
文章位置:http://azwzsj.com/article/joiopp.html