/***<索引>***/
1.使用UITextFieldDelegate来隐藏键盘
2.通过触摸背景来隐藏键盘
/***<内容>***/
1.使用UITextFieldDelegate来隐藏键盘
UITextField使用完成后要隐藏键盘,下面使用UITextFieldDelegate中方法
三步:
1.加入UITextFieldDelegate这个协议
2.实现- (BOOL)textFieldShouldReturn:方法。
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
3.将xib文件中的TextField控件的delegate变量指向到之前使用UITextFieldDelegate协议的那个控制器类.
将TextField的delegateIBOutlet变量右键链接到前面的控制器类的实例上.
或
使用代码方式,指定相关TextField的delegate变量。
- (void)viewDidLoad
{
[super viewDidLoad];
xxxTextField.delegate = self;
}
4.注:
运行时状态见下图:
默认是换行,要将‘换行’->'完成'
打开UITextField的xib文件,更改Return Key选项->Done
运行后见下图
2.通过触摸背景来隐藏键盘
思路:
设置一个不可见的按钮将其位于所有控制之下,点击调用[xxxTextField resignFirstResponder];
两步:
1.
- (IBAction) backgroundTap: (id)sender
{
// 在非第一响应者控件上调用resignFirstResponder是绝对安全的。
// 因此可以放心的对所有textField调用resignFirstResponder
[textField resignFirstResponder];
}2.
将IB的view->cmd+4->Class改成UIControl
(能够触发操作方法的所有控件都是UIControl的子类,所以通过更改底层类,此View将能够触发操作方法。)
cmd+2->将Touch Down事件连接到File's Owner的backgroundTap:操作.