监听键盘的弹出,让整个页面向上移动,比较简单,仅做记录使用:
代码如下:
// 监听键盘 [[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); } }]; }
时间: 2024-10-08 03:00:12