必现
- 发布:2024-08-06 21:11
- 更新:2024-08-19 19:22
- 阅读:936
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 4.24
手机系统: iOS
手机系统版本号: iOS 14
手机厂商: 苹果
手机机型: PDKM00
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
键盘高度不包含安全区域
键盘高度不包含安全区域
实际结果:
键盘高度包含安全区域
键盘高度包含安全区域
[已删除] (作者)
@DCloud_UNI_BFC @DCloud_UNI_BFC @DCloud_UNI_yuhe @DCloud_iOS_ZFL @DCloud_UNI_OttoJi @DCloud_HB_GY @DCloud_商务_Nisa
你好,你的demo代码里面的input设置了 adjust-position=false。这种情况需要手动控制input位置。相关帖子iphone 安全区 由于ios底部安全区的原因,可以通过plus获取底部安全区高度,动态调整。 以下是代码示例
methods: {
// 处理键盘高度变化
_handleKeyboardHeightChange(res) {
// 底部安全区
let {deviceBottom}= plus.navigator.getSafeAreaInsets();
this.keyboardHeight = res.height ? (res.height - deviceBottom) : 0
}
}
方案二: 可以考虑键盘弹起时, webview adjustResize 模式
"app-plus": {
"softinputMode": "adjustResize"
}
这样不用动态控制input 的位置了。相关文档
-
[已删除] (作者)
好的,谢谢,我使用uni.getSystemInfoSync() 获取不到底部安全区域,但是用plus.navigator.getSafeAreaInsets(); 获取到了,解决了问题,感谢
2024-08-19 19:43

[已删除] (作者)
就是使用uni.onKeyboardHeightChange控制的
2024-08-12 18:21