當我們在可輸入信息的控件上結束輸入時,可隱藏鍵盤以下兩句代碼:
1 [self.onetf resignFirstResponder]; 某一個可輸入控件放棄第一響應者
2 [self.view endEditing:YES]; 當前頁面上所有可輸入控件停止編輯
用以下幾個方法來隱藏鍵盤1 借助當前輸入框的父View(或者父View的父View)
1)父view為繼承自UIResponder的對象
可以直接調用touch方法來隱藏鍵盤
-(void)touchesEnded:(NSSet*)touches withEvent:(UIEvent *)event {
[self.onetf resignFirstResponder];
}
2)在父view上添加點擊事件
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(dismissKeyboard:)];
[self.fristView addGestureRecognizer:tap];
- (void)dismissKeyboard:(id)sender{
[self.onetf resignFirstResponder];
}
3)將父view所繼承的類改為UIControl,使用UIControl 的 Touch Up Inside 事件來收起鍵盤

- (IBAction)dismissKeyboard:(id)sender {
[self.onetf resignFirstResponder];
}
2 點擊鍵盤上的Return鍵 收起鍵盤
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[self.onetf resignFirstResponder];
return YES;
}
3 繼承于UIScrollView的控件可以在滑動是收起鍵盤
1 )首先遵守UIScrollViewDelegate協(xié)議,滾動結束后收起鍵盤
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
[self.onetf resignFirstResponder];
}
2)設置ScrollView的屬性keyboardDismissMode,滾動時收起鍵盤
self.tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;
4 統(tǒng)一收起鍵盤
?[[[UIapplication sharedApplication] keyWindow] endEditing:YES];
5. 直接發(fā)送 resignFirstResponder 消息:
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];