iOS 键盘弹出视图精准上移

打印 上一主题 下一主题

主题 803|帖子 803|积分 2409

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

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

天津储鑫盛钢材现货供应商

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表