1 视图精准位移,需要计算出输入框距离屏幕底部的距离,然后
计算出输入框需要上移的距离,就是整个视图需要上移的距离,
注意,我们可以自行设置一个适当的buffer,我这里是40,就是输入框距离
键盘有一个40的距离,制止紧挨着 导致体验不佳
- - (void)keyboardWillShow:(NSNotification *)noti
- {
- UpdateUserInfoView *userInforView = self.editCell.userInfoView;
-
- CGRect userInfoViewframe = [self.editCell convertRect:userInforView.frame toView:window];
- CGFloat bottomSpace = GetScreenHeight() - CGRectGetMaxY(userInfoViewframe);
- //设置一个buffer
- bottomSpace -= 40;
- CGRect keyboardRect = [noti.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
- CGFloat boardHeight = keyboardRect.size.height;
- NSLog(@" keyboardWillShow editCellFrame%@ bottomSpace%f boardHeight%f", NSStringFromCGRect(userInfoViewframe), bottomSpace, boardHeight);
- CGFloat duration = [noti.userInfo[UIKeyboardAnimationDurationUserInfoKey] floatValue];
- Weakify(self);
- [UIView animateWithDuration:duration animations:^{
- Strongify(self);
- self.backView.y -= (boardHeight - bottomSpace);
- }];
- [self.tableView addGestureRecognizer:self.endEditingTap];
- }
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |