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
}
}
- 发布:2022-04-22 09:42
- 更新:2022-06-18 11:57
- 阅读:1268
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows 10
HBuilderX类型: 正式
HBuilderX版本号: 3.4.6
手机系统: iOS
手机系统版本号: iOS 15
手机厂商: 苹果
手机机型: iphone 13
页面类型: nvue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
uni.getSystemInfo({
success: (res) => {
console.log(res)
this.safeBottom = res.safeAreaInsets.bottom + 'px'
}
})
uni.getSystemInfo({
success: (res) => {
console.log(res)
this.safeBottom = res.safeAreaInsets.bottom + 'px'
}
})
预期结果:
获取到安全区距离
获取到安全区距离
实际结果:
安全区距离为0
安全区距离为0
bug描述:
之前能够获取到ios底部安全区大小的代码现在不生效了
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
}
d***@whaiw.com (作者)
云打包还是一样的问题,云打包强制用最新的,哎
2022-04-22 15:36