监听键盘的弹出,让整个页面向上移动,比较简单,仅做记录使用:
代码如下:
// 监听键盘
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShowAction:) name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHideAction:) name:UIKeyboardWillHideNotification object:nil];
键盘处理:
#pragma mark - 键盘处理 /**
* 键盘即将隐藏
*/
- (void)keyboardWillHideAction:(NSNotification *)note
{ // 1.键盘弹出需要的时间
CGFloat duration = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue]; // 2.动画
[UIView animateWithDuration:duration animations:^{
self.view.transform = CGAffineTransformIdentity;
}];
} /**
* 键盘即将弹出
*/
- (void)keyboardWillShowAction:(NSNotification *)note
{ // 1.键盘弹出需要的时间
CGFloat duration = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue]; // 2.动画
[UIView animateWithDuration:duration animations:^{
// 取出键盘高度
CGRect keyboardF = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGFloat keyboardH = keyboardF.size.height - ;
if (_ThreeInch) {
self.view.transform = CGAffineTransformMakeTranslation(, - keyboardH);
} else {
self.view.transform = CGAffineTransformMakeTranslation(, - );
}
}];
}