uniapp 获取tabBar高度
时间: 2023-09-06 15:14:19 浏览: 545
在 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 的高度。
阅读全文