const sysInfo = uni.getSystemInfoSync()
sysInfo.statusBarHeight. # 值为20
var(--status-bar-height) # 值为25
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 12.6.1
HBuilderX类型: 正式
HBuilderX版本号: 3.6.5
第三方开发者工具版本号: Stable 1.06.2210310
基础库版本号: 2.27.3
项目创建方式: HBuilderX
const sysInfo = uni.getSystemInfoSync()
sysInfo.statusBarHeight. # 值为20
var(--status-bar-height) # 值为25
const sysInfo = uni.getSystemInfoSync()
sysInfo.statusBarHeight. # 值为20
var(--status-bar-height) # 值为25
const sysInfo = uni.getSystemInfoSync()
sysInfo.statusBarHeight. # 值为20
var(--status-bar-height) # 值为20
const sysInfo = uni.getSystemInfoSync()
sysInfo.statusBarHeight. # 值为20
var(--status-bar-height) # 值为25
通过uni.getSystemInfoSync()获取到的statusBarHeight高度和通过css变量获取到的状态栏高度不一致,
例如
const sysInfo = uni.getSystemInfoSync()
sysInfo.statusBarHeight. # 值为20
var(--status-bar-height) # 值为25
这个css变量本质是编译前定义的常量,可将
HBuilderX\plugins\uniapp-cli-vite\node_modules\@dcloudio\uni-mp-vite\dist\plugin\configResolved.js
第12行
const cssVars = `page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}`;
更改为
const cssVars = ''
然后在App内通过API重新赋值
最关键的是,状态栏高度每个机型不尽相同,文档这里一万年了还不更改,之前好多人反映过都是不了了之
zZZ1Ma
最涩的是,你不这样改,直接给--status-bar-height赋值还不行,得改用--status-bar_height;就算赋空值也是然并卵,每次HX更新都得重新赋空值
2022-12-02 10:38