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];
}
相关推荐
刮涂层_赢大奖6 小时前
我给MAC做了一个 Windows 任务栏,用了之后再也回不去 Dock 了
windows·macos·ios
带娃的IT创业者15 小时前
解密OpenClaw系列07-OpenClaw数据流分析
macos·软件工程·agent·ai智能体·智能体开发·openclaw
春波petal17 小时前
MacOS 13.7.8版本-前端环境一键搭建指南
前端·macos
疯笔码良18 小时前
【swiftUI】实现自定义的底部TabBar组件
ios·swiftui·swift
eppen1 天前
macOS 快捷键修改
macos
松叶似针1 天前
Flutter三方库适配OpenHarmony【secure_application】— iOS 端原生模糊遮罩实现分析
flutter·ios·cocoa
vx-bot5556661 天前
企业微信ipad协议的会话管理机制与本地同步策略
ios·企业微信·ipad
郁大锤2 天前
macOS 终端 SSH 到 Linux 后快捷键失效解决方法
linux·macos·ssh
阿捏利2 天前
详解Mach-O(十三)Mach-O __TEXT
macos·ios·c/c++·mach-o
Laughtin2 天前
macos的python安装选择以及homebrew python的安装方法
开发语言·python·macos