IOS开发隐藏键盘的4种方法
开发的app中常会用到键盘输入完成后隐藏键盘的情况.在此总结了4种方法来实现我们的目的.
方法一——delegate方式
第一种隐藏键盘的方法,称为delegate三步法:
1. 遵循(委托/代理); 2. 调用; 3. 关联头文件(ViewController.h)中遵循代理 。 代码如下:#import@interface ViewController : UIViewController @end
在实现文件(ViewController.m)中,调用方法:
#pragma --mark textFieldDelegate //调用delete方法,-(BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder];//释放第一响应者 return YES; }
其中代码#pragma --mark textFieldDelegate
,是将它下面方法:textFieldShouldReturn
标记到textFieldDelegate的类别下.如下图所示:
遵循代理,并且创建方法后,剩下的一步就是建立连接了.
选中控件后,按住control键拖拽到view Controller上,选择delegate.连接就建立好了.建立连接后,右击进行连接的控件后,可以看到.
command+r运行后,输入按键盘的return键即可实现键盘隐藏.
方法二——事件响应法:
直接选中输入控件,拖拽该控件创建一个action和outlet.
- (IBAction)didEnd:(id)sender { [self.didTextfield resignFirstResponder]; }
方法三——点击空白处,隐藏键盘
当点击空白位置时,隐藏键盘的方法.
选中视图后,将class(原来为UIView)更改为UIControl——(这是因为:UIControl是 UIView 的子类,具有后者的所有外观和行为,同时又能激发事件),然后为View对象创建一个touch up inside的触摸事件,为输入控件创建一个outlet.将action实现行为.
- (IBAction)viewClicked:(id)sender{ //获取文本框对象后,退出第一响应者 [self.textField resignFirstResponder]; }
方法四——奇技淫巧(不常用)
巧用UIButton.将按钮控件铺满全屏,去掉上面的文字,设置背景色与视图色一致(这里为突出效果,按钮背景色设置为红色).
为UIButton对象,创建一个touch up inside的action,为文本框创建一个outlet,然后实现action,- (IBAction)btnTap:(id)sender { [self.textField resignFirstResponder]; }
如何让键盘消失:点击return让键盘消失:在它所在页面的controller里,连接它的did end on exit 到代码中,再加一句:sender.resignFirstResponder()
点击屏幕让键盘消失:先将view改为uicontrol的证书,然后连接view的Touch down到当前页面,连接相应的textfield到该页面,在viwe的代码中写上相应的textfiled.resignFirstResponder()