iOS 键盘弹出视图精准上移

ops/2024/11/18 6:16:01/

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/ops/134636.html

相关文章

Angular框架:构建现代Web应用的全面指南

文章目录 前言一、Angular简介二、Angular的核心特性三、Angular的应用场景四、Angular的发展趋势五、如何开始使用Angular结语 前言 在当今高度竞争的互联网环境中,构建高效、响应迅速且易于维护的Web应用成为企业成功的关键。Angular框架以其强大的功能、灵活的架…

IPv6基础知识

IPv6是由IEIF提出的互聯網協議第六版,用來替代IPv4的下一代協議,它的提出不僅解決了網絡地址資源匱乏問題,也解決了多種接入設備接入互聯網的障礙。IPv6的地址長度為128位,可支持340多萬億個地址。如下圖,3ffe:1900:fe…

K8s学习笔记之了解k8s的网络模型

文章目录 docker 网络模型容器与容器之间,容器与宿主机之间如何通信容器访问外部网络外部网络访问容器 k8s 网络模型CNIpod 网络配置流程 k8s 热门网络插件介绍Flannel 来源Calico 来源Cilium 来源 k8s 网络插件的工作模式Flannel 的工作模式Calico 的工作模式BGP 和…

【STM32】USART串口协议

文章目录 串口通信串口的基本概念串口硬件电路串口参数及时序 USART介绍USART基本概念USART框图USART简化结构图USART常用库函数 串口发送接线图Strial模块串口常用的模块函数printf( ) 函数的移植方法一方法二 main.c 源程序 串口发送接收接线图Strial模块main.c 源程序 STM32…

初识C++(四)

最好的都在路上 多次函数调用的缺陷 我们先来看代码 int Add(int x, int y) {return x y; } int main() {int ret 0;ret Add(2, 3);ret Add(2, 3);ret Add(2, 3);ret Add(2, 3);ret Add(2, 3);ret Add(2, 3);ret Add(2, 3);return 0; } 根据我们在函数栈帧这节课中…

从dos上传shell脚本文件到Linux、麒麟执行报错“/bin/bash^M:解释器错误:没有那个文件或目录”

[rootkylin tmp]#./online_update_wars-1.3.0.sh ba51:./online_update_wars-1.3.0.sh:/bin/bash^M:解释器错误:没有那个文件或目录 使用scp命令上传文件到麒麟系统,执行shell脚本时报错 “/bin/bash^M:解释器错误:没有那个文件或目录” 解决方法: 执行…

wordpress使用相关

这里写目录标题 遇到的相关问题WordPress安装插件过程中遇到需要ftp出现确实XMLReader 插件的提示cURL Support Missing(curl 缺失) 遇到的相关问题 WordPress安装插件过程中遇到需要ftp 一般在这个位置 出现确实XMLReader 插件的提示 解决&#xff1a…

第二十章 TCP 客户端 服务器通信 - 立即发送模式(Q 模式)

文章目录 第二十章 TCP 客户端 服务器通信 - 立即发送模式(Q 模式)立即发送模式(Q 模式)流模式(S模式)缓冲区大小 服务器端OPEN命令 第二十章 TCP 客户端 服务器通信 - 立即发送模式(Q 模式) 立即发送模式…