收起鍵盤的方法:
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種方法。