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


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

开发的app中常会用到键盘输入完成后隐藏键盘的情况.在此总结了4种方法来实现我们的目的.

方法一——delegate方式

第一种隐藏键盘的方法,称为delegate三步法: 
1. 遵循(委托/代理); 
2. 调用; 
3. 关联头文件(ViewController.h)中遵循代理 。 代码如下:

#import <UIKit/UIKit.h> @interface ViewController : UIViewController<UITextFieldDelegate> @end

 

在实现文件(ViewController.m)中,调用方法:

#pragma --mark textFieldDelegate //调用delete方法,<UITextFieldDelegate> -(BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder];//释放第一响应者 return YES; }

 

其中代码#pragma --mark textFieldDelegate,是将它下面方法:textFieldShouldReturn标记到textFieldDelegate的类别下.如下图所示:

这里写图片描述

遵循代理,并且创建方法后,剩下的一步就是建立连接了. 
选中控件后,按住control键拖拽到view Controller上,选择delegate.连接就建立好了.

这里写图片描述

建立连接后,右击进行连接的控件后,可以看到. 
这里写图片描述

command+r运行后,输入按键盘的return键即可实现键盘隐藏.

方法二——事件响应法:

直接选中输入控件,拖拽该控件创建一个action和outlet. 
这里写图片描述 
在实现文件中,实现action.

- (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()


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM