键盘遮挡输入框
2018-08-14 09:45
393 查看
#pragma mark - 键盘通知 - (void)addNoticeForKeyboard { //注册键盘出现的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; //注册键盘消失的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; } #pragma mark --键盘弹出收起管理 ///键盘显示事件 - (void) keyboardWillShow:(NSNotification *)notification { if ([self.remarkTextView isFirstResponder]){ //获取键盘高度,在不同设备上,以及中英文下是不同的 CGFloat kbHeight = [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height; //计算出键盘顶端到inputTextView panel底端的距离(加上自定义的缓冲距离INTERVAL_KEYBOARD) CGFloat offset = (self.remarkTextView.frame.origin.y+self.remarkTextView.frame.size.height+INTERVAL_KEYBOARD) - (self.view.frame.size.height - kbHeight); // 取得键盘的动画时间,这样可以在视图上移的时候更连贯 double duration = [[notification.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; //将视图上移计算好的偏移 if(offset > 0) { [UIView animateWithDuration:duration animations:^{ self.view.frame = CGRectMake(0.0f, -offset, self.view.frame.size.width, self.view.frame.size.height); }]; } } } ///键盘消失事件 - (void) keyboardWillHide:(NSNotification *)notify { if ([self.remarkTextView isFirstResponder]){ // 键盘动画时间 double duration = [[notify.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; //视图下沉恢复原状 [UIView animateWithDuration:duration animations:^{ self.view.frame = CGRectMake(0, 64, self.view.frame.size.width, self.view.frame.size.height); }]; } }
相关文章推荐
- 关于android输入框被键盘遮挡的问题
- H5 android 键盘弹起,输入框被遮挡解决方案
- iOS TextField 弹出键盘时实现view整体上移下移:防止弹出键盘遮挡输入框
- 移动端固定输入框在底部会被键盘遮挡的解决方法
- iOS输入框怎样避免键盘的遮挡
- swift3.0键盘弹起,遮挡输入框问题
- 简单完美的解决键盘遮挡输入框的问题
- 一句代码就能轻松解决键盘遮挡住输入框的问题
- android键盘遮挡webview的输入框问题
- IOS 键盘遮挡输入框 视图上移解决方案
- 键盘遮挡输入框的问题
- 手机横屏下,输入框输入时被系统键盘遮挡处理方法
- iOS输入框自适应键盘高度,避免遮挡
- 页面多个textField,键盘遮挡输入框的处理
- 关于ios键盘遮挡输入框
- swift开发笔记24 解决键盘遮挡输入框 的方法
- iOS——获得键盘的高度 NSNotificationCenter 避免遮挡输入框
- 关于ios键盘遮挡输入框
- 键盘遮挡输入框的解决方法
- 解决键盘遮挡输入框问题