[已删除]
[已删除]
  • 发布:2024-08-06 21:11
  • 更新:2024-08-19 19:22
  • 阅读:936

【报Bug】UNIAPP input 弹出键盘 获取键盘高度,ios 出现异常。上面的输入框无法贴近键盘

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 4.24

手机系统: iOS

手机系统版本号: iOS 14

手机厂商: 苹果

手机机型: PDKM00

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

必现

预期结果:

键盘高度不包含安全区域

实际结果:

键盘高度包含安全区域

bug描述:

ios 刘海屏手机 键盘的高度包括了安全区域,导致多出一块

2024-08-06 21:11 负责人:无 分享
已邀请:
传播星球

传播星球

uni.onKeyboardHeightChange用这个来控制弹窗高度呢

  • [已删除] (作者)

    就是使用uni.onKeyboardHeightChange控制的

    2024-08-12 18:21

[已删除]

[已删除] (作者)

官方的人呢?一个回复的都没有

[已删除]

[已删除] (作者)

...................

[已删除]

[已删除] (作者)

麻烦解决一下

[已删除]

[已删除] (作者)

@DCloud_UNI_BFC @DCloud_UNI_BFC @DCloud_UNI_yuhe @DCloud_iOS_ZFL @DCloud_UNI_OttoJi @DCloud_HB_GY @DCloud_商务_Nisa

BFC

BFC

你好,我这边没有复现,能提供一下复现的demo工程

  • [已删除] (作者)

    复现demo已上传,请检查

    2024-08-17 15:41

  • [已删除] (作者)

    有空麻烦试一下 谢谢

    2024-08-17 22:39

[已删除]

[已删除] (作者)

复现demo

  • BFC

    收到,我看下

    2024-08-19 15:51

BFC

BFC

你好,你的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

要回复问题请先登录注册