d***@whaiw.com
d***@whaiw.com
  • 发布:2022-04-22 09:42
  • 更新:2022-06-18 11:57
  • 阅读:1268

【报Bug】3.4.6无法获取ios底部安全区距离

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.4.6

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 苹果

手机机型: iphone 13

页面类型: nvue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
                success: (res) => {  
                    console.log(res)  
                    this.safeBottom = res.safeAreaInsets.bottom + 'px'  
                }  
            })  

{  
    "errMsg": "getSystemInfo:ok",  
    "brand": "Apple",  
    "model": "iPhone13",  
    "pixelRatio": 3,  
    "screenWidth": 390,  
    "screenHeight": 844,  
    "windowWidth": 390,  
    "windowHeight": 810,  
    "statusBarHeight": 47,  
    "language": "zh-Hans-CN",  
    "system": "iOS 15.4.1",  
    "version": "1.9.9.80820",  
    "fontSizeSetting": "",  
    "platform": "ios",  
    "SDKVersion": "",  
    "windowTop": 0,  
    "windowBottom": 0,  
    "safeArea": {  
        "left": 0,  
        "right": 390,  
        "top": 47,  
        "bottom": 810,  
        "width": 390,  
        "height": 763  
    },  
    "safeAreaInsets": {  
        "top": 47,  
        "right": 0,  
        "bottom": 0,  
        "left": 0  
    }  
}  

操作步骤:

uni.getSystemInfo({
success: (res) => {
console.log(res)
this.safeBottom = res.safeAreaInsets.bottom + 'px'
}
})

预期结果:

获取到安全区距离

实际结果:

安全区距离为0

bug描述:

之前能够获取到ios底部安全区大小的代码现在不生效了

2022-04-22 09:42 负责人:DCloud_iOS_XHY 分享
已邀请:
随便蜗牛

随便蜗牛

同样遇到了该问题,只能切换回上一个版本

  • d***@whaiw.com (作者)

    云打包还是一样的问题,云打包强制用最新的,哎

    2022-04-22 15:36

DCloud_UNI_GSQ

DCloud_UNI_GSQ

问题确认,已加分,后续修复

  • d***@whaiw.com (作者)

    可以看看这个问题不,https://ask.dcloud.net.cn/question/143636

    2022-04-25 14:30

DCloud_iOS_XHY

DCloud_iOS_XHY

HX 3.4.7 已修复

  • d***@whaiw.com (作者)

    可以看看这个问题不,https://ask.dcloud.net.cn/question/143636

    2022-04-25 14:30

南风粽子

南风粽子

已经更新到HX 3.4.7 了 ipone 系列 在nvue下获取的safeAreaInsets.bottom 还是0

像素方舟_青阳

像素方舟_青阳

3.4.7 真机ios还是有问题

plus.navigator.getSafeAreaInsets 在安卓下 top 会取到0,所以只能2个一起结合使用

function getInsets() {  
  const { top, bottom } = uni.getSystemInfoSync().safeAreaInsets  
  const value = { top, bottom }  
  if (!bottom) {  
    // 规避 苹果,uni.getSystemInfoSync().safeAreaInsets.bottom 可能为0  
    // 相关问题:https://ask.dcloud.net.cn/question/143633  
    value.bottom = plus.navigator.getSafeAreaInsets().bottom  
  }  
  return value  
}
十二112

十二112

3.4.15也是,ios真机下无法获取

该问题目前已经被锁定, 无法添加新回复