uni-app vue3打包wgt资源用做unimp小程序时 ios系统的tabbar图标无法显示
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": "首页"
}
]
}
}