uni-app vue3打包wgt资源用做unimp小程序时 ios系统的tabbar图标无法显示

发布于 1周前 作者 eggper 来自 Uni-App

uni-app vue3打包wgt资源用做unimp小程序时 ios系统的tabbar图标无法显示

开发环境 版本号 项目创建方式
Windows windows10 1909 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Windows

HBuilderX类型:正式

HBuilderX版本号:3.98

手机系统:iOS

手机系统版本号:iOS 17

手机厂商:苹果

手机机型:iPhone11

页面类型:vue

vue版本:vue3

打包方式:离线

示例代码:

"tabBar": {  
    "color": "#999999",  
    "selectedColor": "#feb048",  
    "borderStyle": "white",  
    "backgroundColor": "#FFFFFF",  
    // "iconWidth": "40px",  
    "list": [{  
        "pagePath": "pages/index/massif",  
        "text": "首页",  
        "iconPath": "static/main/index/sy.png",  
        "selectedIconPath": "static/main/index/sydj.png"  
      },  
      {  
        "pagePath": "pages/index/manager",  
        "text": "管理",  
        "iconPath": "static/main/index/dk.png",  
        "selectedIconPath": "static/main/index/dkdj.png"  
      },  

      {  
        "pagePath": "pages/index/personal",  
        "text": "我的",  
        "iconPath": "static/main/index/wd.png",  
        "selectedIconPath": "static/main/index/wddj.png"  
      }  

    ]  
  },

操作步骤:

  • 创建vue3项目,设置tabbar, 打包成wgt包, 更新到支持uniMP小程序的app壳子中

预期结果:

  • icon正常显示, 文字显示

实际结果:

  • icon不显示, 只显示文字

bug描述:

  • vue3打包成wgt资源用做uniMP小程序时, ios系统的tabbar图标无法显示, 打包成APP或者H5均无问题, 打包成wgt包目前只发现ios有问题, 安卓无问题

3 回复

同问,遇到了怎么该解决啊


也有该问题,怎么解决

在使用 uni-app Vue3 打包 wgt 资源用于 unimp 小程序时,iOS 系统的 TabBar 图标无法显示,可能是由于以下原因导致的。你可以按照以下步骤进行排查和解决:

1. 检查图标路径

  • 确保 TabBar 图标的路径是正确的,并且在 wgt 资源中能够正常访问。
  • pages.json 中,TabBar 图标的路径应该是相对于项目根目录的相对路径。
{
  "tabBar": {
    "list": [
      {
        "pagePath": "pages/index/index",
        "iconPath": "static/tabbar/home.png",
        "selectedIconPath": "static/tabbar/home-active.png",
        "text": "首页"
      }
    ]
  }
}

2. 图标格式和大小

  • 确保图标是 PNG 格式,并且大小符合要求。通常,TabBar 图标的大小建议为 50x50 像素。
  • iOS 对图标的要求比较严格,确保图标没有透明背景或其他问题。

3. 图标路径大小写

  • iOS 系统对文件路径的大小写敏感,确保图标路径的大小写与文件系统中的实际路径一致。

4. 检查 wgt 资源

  • 确保在打包 wgt 资源时,图标文件被正确打包进去。你可以解压 wgt 文件,检查其中是否包含所需的图标文件。

5. iOS 系统缓存问题

  • 有时候 iOS 系统可能会缓存旧的资源,导致新的图标无法显示。你可以尝试清除小程序缓存,或者重新安装小程序。

6. 使用绝对路径

  • 如果你使用的是相对路径,尝试改为绝对路径,确保图标路径在 wgt 资源中能够正确解析。
{
  "tabBar": {
    "list": [
      {
        "pagePath": "pages/index/index",
        "iconPath": "/static/tabbar/home.png",
        "selectedIconPath": "/static/tabbar/home-active.png",
        "text": "首页"
      }
    ]
  }
}

7. 检查 unimp 配置

  • 确保在 unimp 的配置文件中,图标路径配置正确,并且 wgt 资源能够正常加载。

8. 使用 base64 编码

  • 如果图标较小,可以尝试将图标转换为 base64 编码,直接嵌入到 pages.json 中,避免路径问题。
{
  "tabBar": {
    "list": [
      {
        "pagePath": "pages/index/index",
        "iconPath": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
        "selectedIconPath": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
        "text": "首页"
      }
    ]
  }
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!