iPhone完成输入后关闭键盘的方法

iPhone的键盘是基于软件,而不是物理键盘的,因此需要一些额外的步骤来确保用户在完成输入后关闭键盘。

1.通过点击Return/Done按钮关闭键盘
当用户按下Return按钮时,将触发“did end on exit”事件,此时我们需要让文本字段取消控件,以关闭键盘。
在控制器类头文件中加入一个操作方法

-(IBAction)textFieldDoneEditing:(id)sender;

在相应的.m文件中实现该方法

-(IBAction)textFieldDoneEditing:(id)sender
{
[sender resignFirstResponder];
}

FirstResponder是用户当前正在与之交互的控件。此处我们告诉触发此操作的控件取消FirstResponder状态。当文本字段生成FirstResponder状态之后,与之相关的键盘将消失。

在Interface Builder中按command+2 后选择文本字段中Did End on Exit旁边的圆圈拖到File’s Owner图标,并将它连接到textFieldDoneEditing操作。然后保存,最后返回Xcode。

但是,此方法缺乏较佳的用户体验。


2.通过触摸背景关闭键盘
这个方法是创建一个不可见的按钮,将其置于其他所有元素的后面,用于通知文本字段在检测到触摸操作时生成

FirstResponder状态。

在控制器类头文件中加入

-(IBAction)backgroundTap:(id)sender;

在实现文件中实现该方法

-(IBAction)backgroundTap:(id)sender {
[textField resignFirstResponder];
}

打开Interface Builder,标有Class的字段目前显示为UIView,将其更改为UIControl。能够触发操作方法的所有控件都是UIControl的子类,所以通过更改底层类,此视图将能够触发操作方法。从Touch Down事件拖到File’s Owner图标并选择backgroundTap:操作。保存xib文件,完工。现在触摸视图中没有活动控件的任何位置都将触发新的操作方法,这将导致关闭键盘。


3、使用Interface Builder,更改view所指的对象类,将它的底层类由UIView更改为UIControl。(UIControl可以触发操作方法)

打开nib的主窗口

单击名为view的图标,并按command+4调出身份检查器,标有Class的字段目前显示为UIView,将其更改为UIcontrol。

按command+2连接检查器,从Touch Down事件拖到File’s owner图标,然后选择操作方法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值