uniapp获取tabbar高度
时间: 2023-08-03 10:08:06 浏览: 318
可以通过uni.getSystemInfoSync()获取系统信息,然后通过tabBar的高度计算出底部tabbar的高度。具体代码如下:
```
let systemInfo = uni.getSystemInfoSync();
let tabBarHeight = systemInfo.screenHeight - systemInfo.safeArea.bottom;
```
其中,systemInfo.safeArea.bottom是安全区域的底部坐标,也就是底部tabbar的顶部坐标。通过屏幕高度减去底部坐标,就可以得到底部tabbar的高度。
相关问题
uniapp 获取tabBar高度
在 uni-app 中,获取 tabBar 的高度可以通过以下步骤实现:
1. 在页面的 `onLoad` 生命周期函数中,使用 `uni.getSystemInfoSync()` 方法获取系统信息,其中包括 tabBar 的高度。
2. 在页面的 `onShow` 生命周期函数中,使用 `uni.getSystemInfoSync()` 方法获取系统信息,并将 tabBar 的高度与上一步获取的高度进行比较,以确保 tabBar 高度在用户切换页面时不会发生变化。
以下是示例代码:
```javascript
export default {
data() {
return {
tabBarHeight: 0 // tabBar 高度
}
},
onLoad() {
const systemInfo = uni.getSystemInfoSync()
this.tabBarHeight = systemInfo.tabBarHeight || 50 // tabBar 高度默认为 50px
},
onShow() {
const systemInfo = uni.getSystemInfoSync()
if (this.tabBarHeight !== systemInfo.tabBarHeight) {
this.tabBarHeight = systemInfo.tabBarHeight
}
}
}
```
注意,如果页面使用了自定义 tabBar,以上方法可能无法获取到正确的 tabBar 高度。此时,可以使用 `uni.getMenuButtonBoundingClientRect()` 方法获取自定义菜单按钮的位置和大小,从而计算出 tabBar 的高度。
uniapp 获取tabbar高度
可以通过uni.getSystemInfoSync()方法获取系统信息,然后计算出tabbar的高度。
示例代码:
```javascript
let systemInfo = uni.getSystemInfoSync();
let tabbarHeight = 0;
if(systemInfo.model.indexOf('iPhone X') !== -1 || systemInfo.model.indexOf('iPhone 11') !== -1){
tabbarHeight = 83;
} else {
tabbarHeight = 50;
}
console.log('tabbar高度:', tabbarHeight);
```
在iPhone X、iPhone 11等带有刘海屏的手机上,tabbar的高度为83px,其他手机上tabbar的高度为50px。
阅读全文