收起键盘的方法:
1、点击Return按扭时收起键盘
- (BOOL)textFieldShouldReturn:(UITextField *)textField{ return [textField resignFirstResponder];}
2、点击背景View收起键盘(你的View必须是继承于UIControl)
[self.view endEditing:YES];
3、你可以在任何地方加上这句话,可以用来统一收起键盘
[[[UIApplication sharedApplication] keyWindow] endEditing:YES];
这个方法是我不久前碰到的,觉得有用,就记下来了。
4. 还有一个方法是直接发送 resignFirstResponder 消息:
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];
该点源自:《iOS开发进阶》 —— 唐巧
5.补充(其他书上看的)
5.1
用户按下键盘上的Done按钮时,会产生一个Did End On Exit 事件,所以可以从TextField控件拖一个点击事件
执行方法:
{
[sender resignFirstResponder];
}
5.2
不是所有类型的键盘都有Done按钮,那么可以触摸背景view退出键盘
1.首先,把xib中的View的底层类由UIView更改为UIControl.
2.把View的Touch Down 拖一根线到控制器,执行
{
[self.textField resignFirstResponder];
}
另外,个人觉得直接在touchesBegin方法里执行上面的方法也可以,不过感觉有点low.
总结
我总结出来了四种收起键盘的方法,使用场合如下:当你能获取到 UITextField 对象时,最好使用 [obj resignFirstResponder] 方法; 如果有很多个 UITextField 对象,你也可以获取到 viewController 的 view 时,你可以使用 [[[UIApplication sharedApplication] keyWindow] endEditing:YES] 方法; 如果当前 ViewController比较难获取,那么可以使用第3种或第4种方法。
网友评论