最近碰到一些關(guān)于鍵盤處理的問題 特地將這些問題整理出來 以后遇到新的問題再繼續(xù)完善...
- 退出鍵盤的方式
- 讓textField不成為第一響應(yīng)者
[self.textField resignFirstResponder];
- 退出編輯模式
[self.view endEditing:YES];
- 讓textField的位置隨鍵盤改變而改變
- 可以通過通知實現(xiàn)
-(void)viewDidLoad{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChange:) name:UIKeyboardWillChangeFrameNotification object:nil];
}
-(void)keyboardWillChange:(NSNotification *)note
{
// 獲得鍵盤的frame
CGRect frame = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
// 修改底部約束
self.bottomSpace.constant = self.view.frame.size.height - frame.origin.y;
// 執(zhí)行動畫
CGFloat duration = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];
[UIView animateWithDuration:duration animations:^{
[self.view layoutIfNeeded];
}];
}
-(void)dealloc{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
在實際開發(fā)中會遇到更多其他關(guān)于鍵盤處理的問題 在這里跟大家推薦一款好用的框架 IQKeyBoardManager