iOS 解决键盘遮挡输入框问题,输入框随键盘弹起上移,切换输入法时动态调整 (Swift)

您所在的位置:网站首页 苹果输入法上移 iOS 解决键盘遮挡输入框问题,输入框随键盘弹起上移,切换输入法时动态调整 (Swift)

iOS 解决键盘遮挡输入框问题,输入框随键盘弹起上移,切换输入法时动态调整 (Swift)

2023-12-12 18:46| 来源: 网络整理| 查看: 265

最近在项目中需要解决苹果系统输入法遮挡输入框的问题,预期结果为:

若键盘弹出后会遮挡输入框,则输入框随键盘弹起上移,输入法切换时输入框始终保持在距键盘上方 4pt 处; 若键盘弹出后不会遮挡输入框,但切换输入法后会遮挡输入框,则输入框需要在切换后上移,随后输入法切换时输入框始终保持在键盘上方 4pt 处。

效果示意:

效果示意 一. 背景

开发环境:iOS14.2 + Xcode v12.2 + Swift5 设备:iPhoneSE(其他机型测试有效) 页面采用自动布局

二. 实现方式

在viewWillAppear中添加键盘弹出、收起、frame变化的通知

override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) // 键盘弹出监听,解决键盘挡住输入框的问题 NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillAppear), name: UIResponder.keyboardWillShowNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(keyboardHasAppear), name: UIResponder.keyboardDidShowNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillDisappear), name: UIResponder.keyboardWillHideNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(keyboardFrameDidChange),


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3