iOS 键盘弹出视图精准上移

devtools/2024/11/18 4:00:51/

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);//设置一个bufferbottomSpace -= 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.ppmy.cn/devtools/134859.html

相关文章

Vue 3 中的 v-bind 完全指南

Vue 3 中的 v-bind 完全指南 v-bind 是 Vue 中常用的指令之一&#xff0c;用于将数据绑定到 HTML 属性、CSS 样式、Class 类名等上。Vue 3 的 v-bind 功能和 Vue 2 基本一致&#xff0c;但在 <script setup> 语法糖的配合下&#xff0c;更加简洁高效。本文将详细讲解 v-…

3大核心技术,免费开源的智能合同审查分析软件的技术介绍

本智能合同审查分析系统致力于解决法律领域中复杂文档与信息处理的难题&#xff0c;采用最先进的深度学习与自然语言处理&#xff08;NLP&#xff09;技术&#xff0c;提供精准的实体识别与关系抽取功能。系统基于BERT、GPT等主流模型&#xff0c;实现自动识别和关联法律文档中…

基本数据类型和包装类型的区别、缓存池、自动拆箱装箱(面试题)

目录 1. 八种基本类型及对应包装类型 2. 基本类型和包装类型 区别 3. 自动拆箱装箱 3.1 自动装箱 3.2 自动拆箱 3.3 缓存池 4. 高频面试案例分析 1. 八种基本类型及对应包装类型 基本数据类型类型描述范围&#xff08;指数形式&#xff09;位数包装类型byte整型&#x…

Vue2+ElementUI:用计算属性实现搜索框功能

前言&#xff1a; 本文代码使用vue2element UI。 输入框搜索的功能&#xff0c;可以在前端通过计算属性过滤实现&#xff0c;也可以调用后端写好的接口。本文介绍的是通过计算属性对表格数据实时过滤&#xff0c;后附完整代码&#xff0c;代码中提供的是死数据&#xff0c;可…

【视觉传感器】数据集合集!

本文将为您介绍经典、热门的数据集&#xff0c;希望对您在选择适合的数据集时有所帮助。 1 Mid-Air Dataset 发布方&#xff1a; 列日大学 发布时间&#xff1a; 2019 简介&#xff1a; Mid-Air&#xff0c;蒙蒂菲奥里研究所航空图像和记录数据集&#xff0c;是用于低空无人…

ODOO学习笔记(8):模块化架构的优势

灵活性与可定制性 业务流程适配&#xff1a;企业的业务流程往往因行业、规模和管理方式等因素而各不相同。Odoo的模块化架构允许企业根据自身的具体业务流程&#xff0c;选择和组合不同的模块。例如&#xff0c;一家制造企业可以启用采购、库存、生产和销售模块&#xff0c;并通…

什么是Web 3.0?

web 3.0是非常火的一个概念了&#xff0c;就算你不知道他具体是什么&#xff0c;但是你也一定听说过这个名词。 但是Web 3.0中又夹杂着很多其他的概念&#xff0c;比如币、DeFi、DeApps、NFT、元宇宙&#xff0c;等等更多其他的概念&#xff0c;所以很多人就更难理解了。这篇文…

部署Apache Doris

官方文档&#xff1a;https://doris.apache.org/zh-CN/installing/compilation.html 一、编译 使用 Docker 开发镜像编译&#xff08;推荐&#xff09; 1.拉取镜像 #下载 Docker 最新主干版本代码&#xff0c;会随主干版本不断更新。 $ docker pull apache/incubator-doris:…