3 -- 收回键盘几种方法

2016-08-08  本文已影响0人  _Nevermore

收起键盘的方法:

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种方法。

上一篇下一篇

猜你喜欢

热点阅读