#### 键盘输入
在iPhone应用程序中, 键盘输入处理比较麻烦。
在输入完成后我们需要自己关闭键盘。
在iPhone中我们还可以指定键盘输入类型, 可以是Email、 电话和数字等类型。
#### 输入完成关闭键盘
Phone中文本框输入后, 键盘是不会关闭的, 必须编写代码。
修改文件
为关闭键盘添加事件处理方法:
h文件
~~~
-(IBAction) textFieldDoneEditing:(id)sender;
m文件
-(IBAction) textFieldDoneEditing:(id)sender {
[sender resignFirstResponder];
}
~~~
#### 链接事件
文本框对象的Did End On Exit事件链接到File’s Owner。
![](https://box.kancloud.cn/2016-01-06_568cf5ca3c837.jpg)
#### iOS键盘小结
点击键盘中的“换行” 或“return”键关闭键盘。
第一响应者是当前与用户交互的控件, 在这个例子中, 点击TextField控件,
它就变成第一响应者键盘就会自动出现。
[sender resignFirstResponder];
是使TextField控件放弃第一响应者状态。
#### 通过触摸背景关闭键盘
点击关闭键盘中的“return”关闭键盘比较麻烦,
我们可以通过触摸背景关闭键盘。
在Hello-.h文件中增加动作声明:
`-(IBAction) backgroundTap:(id)sender;`
在Hello-.m文件中增加动作实现:
~~~
-(IBAction) backgroundTap:(id)sender {
[txtField resignFirstResponder];
}
~~~
#### 连接动作和事件
为了使背景控件能够响应事件, 我们需要背景View的父类( UIView) 修改成为UIControl,
UIControl是能够触发action, 所有控件都是UIControl的子类。
而UIControl是UIView子类, 也具有View基本特征。
![](https://box.kancloud.cn/2016-01-06_568cf5ca5da5b.jpg)
从Touch Down事件拖到File’s Owner图标,
然后选择backgroundTap: 动作。
这样触摸视图中没有活动的控件的任何位置就可以触发backgroundTap: 动作, 关闭键盘。
![](https://box.kancloud.cn/2016-01-06_568cf5ca89073.jpg)
#### 键盘输入类型
在iPhone中我们还可以指定键盘输入类型, 可以是Email、 电话和数字等类型。
![](https://box.kancloud.cn/2016-01-06_568cf5cab69e5.jpg)
Email键盘
![](https://box.kancloud.cn/2016-01-06_568cf5cad5c1e.jpg)
数字键盘
![](https://box.kancloud.cn/2016-01-06_568cf5cb00816.jpg)
电话键盘
![](https://box.kancloud.cn/2016-01-06_568cf5cb1ee94.jpg)
#### Return Key设定
在键盘输入属性框中我们可以定义Return Key,可以有Google等等。
但是这些并没有实际的含义,只是代表它可以触发输入完成事件( Did End OnExit) 。
![](https://box.kancloud.cn/2016-01-06_568cf5cb40dc3.jpg)