uni-app tabber插件首页显示错位

uni-app tabber插件首页显示错位

信息类别 详情
产品分类 uniapp/App
PC开发环境 Mac
PC版本号 12.2.1
开发工具 HBuilderX
工具版本 3.4.4
手机系统 iOS
手机版本 iOS 15
手机厂商 苹果
手机型号 iPhone 13 pro
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

3.4.3版本本地正常,3.4.4更新后,底部错乱

预期结果:

3.4.3版本本地正常,3.4.4更新后,底部错乱

实际结果:

3.4.3版本本地正常,3.4.4更新后,底部错乱

bug描述:

3.4.3版本本地正常,3.4.4更新后,底部错乱

相关链接:


更多关于uni-app tabber插件首页显示错位的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

问题已确认,已加分,感谢您的反馈!相关问题:https://ask.dcloud.net.cn/question/142539

更多关于uni-app tabber插件首页显示错位的实战教程也可以访问 https://www.itying.com/category-93-b0.html


问题已确认 近期会紧急修复

HX 3.4.5+ 版本已修复此问题

在uniapp项目打包安装没有问题,但在脚手架项目中打包安装还是一样的问题,图片和文字还是会紧挨着的。

在使用 uni-app 开发时,如果遇到 tabBar 首页显示错位的问题,可能是由于以下几个原因导致的。你可以按照以下步骤进行排查和解决:


1. 检查 pages.json 配置

确保 pages.json 中的 tabBar 配置正确,特别是 list 中的页面路径和顺序是否正确。例如:

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "首页"
      }
    },
    {
      "path": "pages/user/user",
      "style": {
        "navigationBarTitleText": "用户中心"
      }
    }
  ],
  "tabBar": {
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "首页",
        "iconPath": "static/tabbar/home.png",
        "selectedIconPath": "static/tabbar/home-active.png"
      },
      {
        "pagePath": "pages/user/user",
        "text": "用户中心",
        "iconPath": "static/tabbar/user.png",
        "selectedIconPath": "static/tabbar/user-active.png"
      }
    ]
  }
}

确保 tabBarlist 中的 pagePathpages 中的路径一致,且顺序正确。


2. 检查页面样式

如果首页显示错位,可能是页面样式问题。检查首页的样式是否有影响布局的代码,比如:

  • 是否有 position: fixed 的元素遮挡了内容。
  • 是否有 marginpadding 设置不当。
  • 是否有 flexgrid 布局问题。

可以在首页的 <view> 根元素上添加背景色,检查布局是否正确:

<view style="background-color: red;">
  <!-- 页面内容 -->
</view>

3. 检查 tabBar 高度

tabBar 的高度可能会影响页面布局。默认情况下,tabBar 的高度为 50px(H5 端)或 56px(小程序端)。如果页面内容被遮挡,可以尝试在页面底部添加 padding-bottom,例如:

<view style="padding-bottom: 50px;">
  <!-- 页面内容 -->
</view>

或者使用 uni.getSystemInfoSync() 动态获取 tabBar 高度:

const systemInfo = uni.getSystemInfoSync();
const tabBarHeight = systemInfo.platform === 'h5' ? 50 : 56;

4. 检查页面生命周期

确保首页的生命周期函数(如 onLoadonShow)中没有影响布局的逻辑。例如,某些异步操作可能会导致页面渲染延迟或错位。


5. 检查平台差异

不同平台(H5、小程序、App)可能会对 tabBar 的渲染方式有所不同。可以在 pages.json 中针对不同平台进行配置,例如:

"tabBar": {
  "height": "50px",
  "selectedColor": "#007AFF",
  "borderStyle": "black",
  "backgroundColor": "#FFFFFF",
  "list": [
    {
      "pagePath": "pages/index/index",
      "text": "首页",
      "iconPath": "static/tabbar/home.png",
      "selectedIconPath": "static/tabbar/home-active.png"
    }
  ],
  "h5": {
    "height": "56px"
  }
}
回到顶部