监听键盘的弹出,让整个页面向上移动,比较简单,仅做记录使用:
代码如下:
// 监听键盘
[[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 - 40;
if (_ThreeInch) {
self.view.transform = CGAffineTransformMakeTranslation(0, - keyboardH);
} else {
self.view.transform = CGAffineTransformMakeTranslation(0, - 50);
}
}];
}