解决uniapp用了uni.getSystemInfo获取状态栏高度在app上获取不到问题
Posted on 2022-09-14 16:47 且行且思 阅读(2206) 评论(0) 编辑 收藏 举报出现的情况
刚开始写法 是用了
uni.getSystemInfo({
success:(e)=> {
this.statusBarHeight = e.statusBarHeight;
}
})
<template> <view class="main" :style="{marginTop:statusBarHeight+'px'}"> {{statusBarHeight}} <view>测试</view> </view> </template> <script> export default { name:"app-navbar", onLoad(){ uni.getSystemInfo({ success:(e)=> { this.statusBarHeight = e.statusBarHeight; } }) console.log(this.statusBarHeight,'-') }, data() { return { statusBarHeight:0, }; }, } </script> <style scoped lang="scss"> .main{ } </style>
解决问题的效果
第一种把那些方法不写在onLoad里面写在mounted里面就可以了
<template> <view class="main" :style="{marginTop:statusBarHeight+'px'}"> {{statusBarHeight}} <view>测试</view> </view> </template> <script> export default { name:"app-navbar", mounted(){ uni.getSystemInfo({ success:(e)=> { this.statusBarHeight = e.statusBarHeight; } }) console.log(this.statusBarHeight,'-') }, data() { return { statusBarHeight:0, }; }, } </script> <style scoped lang="scss"> .main{ } </style>
第二种是用了css识别法 var(--status-bar-height)
<template> <view class="main" style="margin-top: var(--status-bar-height);"> <view>测试</view> </view> </template> <script> export default { name:"app-navbar", onLoad(){ }, data() { return { }; }, methods:{ } } </script> <style scoped lang="scss"> .main{ } </style>
如果需要用到状态栏高度
可以这样获取到
<template> <view id="main" style="margin-top: var(--status-bar-height);"> <view>测试</view> 状态栏高度{{statusBarHeight}} </view> </template> <script> export default { name: "app-navbar", mounted() { const query = uni.createSelectorQuery().in(this); query.select('#main').boundingClientRect(data => { console.log("得到布局位置信息" + JSON.stringify(data)); console.log("节点离页面顶部的距离为" + data.top); this.statusBarHeight = data.top }).exec(); }, data() { return { statusBarHeight: 0, }; }, methods: { } } </script> <style scoped lang="scss"> .main {} </style>
分类:
Uni-app
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2021-09-14 IntelliJ IDEA 设置和查看内存使用
2012-09-14 SQL中的ISNULL和IS NULL
2011-09-14 SQLServer 2008 误删除恢复