当前位置: 首页 > article >正文

iOS 键盘弹出视图精准上移

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];
}

http://www.kler.cn/a/401763.html

相关文章:

  • 详细描述一下Elasticsearch搜索的过程?
  • SDIO 和MISC 什么关系
  • 天童美语:下元节将至
  • 【会话文本nlp】对话文本解析库pyconverse使用教程版本报错、模型下载等问题解决超参数调试
  • 解决Spring Boot整合Redis时的连接问题
  • 使用 GoZero 实现读取绩效表格 Excel 并打分
  • 深度解析FastDFS:构建高效分布式文件存储的实战指南(下)
  • qiankun主应用(vue2+element-ui)子应用(vue3+element-plus)不同版本element框架css样式相互影响的问题
  • Linux驱动开发快速入门——字符设备驱动(直接操作寄存器设备树版)
  • MySQL系统优化
  • 芯片之殇——“零日漏洞”(文后附高通64款存在漏洞的芯片型号)
  • css iframe标签使用
  • LeetCode - #138 随机链表的复制
  • 多品牌摄像机视频平台EasyCVR视频融合平台+应急布控球:打造城市安全监控新体系
  • 服务器产品
  • 最小生成树应用北极通讯网络
  • JavaScript高效处理CSV文件的操作指南
  • Misc_01转二维码(不是二进制)
  • 【软考】系统架构设计师-信息安全技术基础
  • 【网络】数据链路层协议——以太网,ARP协议
  • DAHL:利用由跨越 29 个类别的 8,573 个问题组成的基准数据集,评估大型语言模型在生物医学领域长篇回答的事实准确性。
  • 《C++ 实现区块链:区块时间戳的存储与验证机制解析》
  • Axure智慧社区数据可视化大屏模板
  • 高效语言模型 Parler-TTS 上线,一键完成文本转语音
  • Mybatis框架之单例模式 (Singleton Pattern)
  • 微服务day09