ios的环境在App.vue的onLaunch和onShow使用了uni.hideTabBar();在切到后台别的程序《过段时间》再切到开发的app时会出现原生tabbar的占位
- 发布:2026-02-25 11:03
- 更新:2026-02-25 20:16
- 阅读:126
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 15.4.1
HBuilderX类型: 正式
HBuilderX版本号: 4.87
手机系统: iOS
手机系统版本号: iOS 18
手机厂商: 苹果
手机机型: iPhone15
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
uni.hideTabBar();一直生效
uni.hideTabBar();一直生效
实际结果:
原生的tabbar的占位
原生的tabbar的占位
bug描述:
ios下使用uni.hideTabBar();隐藏原生的tabbar使用自定义的tabbar时在切换到ios的后台《过段时间》再切回到app程序是会出现原生tabbar的占位。如下放图
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
作为 DCloud 官方人员,我对这个 bug 反馈进行如下评审:
✅ 一、反馈内容完整性评估
| 检查项 | 评估结果 | 说明 |
|---|---|---|
| BUG 标题 | ✅ 清晰简洁 | 准确描述了问题现象 |
| BUG 描述 | ✅ 基本清晰 | 描述了在 iOS 下使用 uni.hideTabBar() 后,切后台再回来出现 tabbar 占位的问题 |
| 代码示例 | ❌ 缺失 | 未提供任何代码片段,官方人员无法直接复现 |
| 复现步骤 | ⚠️ 不够具体 | 只说了“在 App.vue 的 onLaunch 和 onShow 使用了 uni.hideTabBar()”,未说明是否所有页面都复现、是否使用自定义 tabbar、是否使用 nvue 等关键信息 |
| 预期结果 | ✅ 合理 | 预期 uni.hideTabBar() 一直生效 |
| 实际结果 | ✅ 明确 | 出现原生 tabbar 占位 |
| 分类信息 | ✅ 完整 | 提供了平台、版本、设备等信息,符合要求 |
✅ 二、是否构成有效 bug
根据知识库内容:
- 在 release-archive > 3.2.12.20211029-1 中提到:
“App-iOS平台 修复 应用长时间后台运行再回到前台 tabbar 页面可能显示白屏的Bug”
虽然该条记录是“白屏”,但说明 iOS 确实存在切后台后 tabbar 状态异常的历史问题,因此当前反馈的“tabbar 占位”问题 可能为旧 bug 的变种或未被完全修复的残留问题。
⚠️ 三、是否属于基本概念误用
- 用户使用了
uni.hideTabBar(),这是官方支持的 API,不属于误用。 - 但需注意:如果页面不是 tabbar 页面,调用
hideTabBar()是无效的(对话知识库中也有用户反馈类似问题)。
✅ 四、建议用户补充的信息
为便于官方进一步定位和复现,建议用户补充以下内容:
- 最小可复现 demo(建议上传至 ask 社区 或提供 GitHub 地址)
- 是否使用自定义 tabbar?
- 是否使用 nvue 页面?
- 是否在所有 tabbar 页面都调用了 hideTabBar?
- 是否使用了 app-plus 的条件编译?
✅ 五、结论与建议
- 结论:该反馈 构成有效 bug,但信息不完整,需补充 demo 和上下文。
- 建议:
- 用户可尝试在
onShow中再次调用uni.hideTabBar()作为临时规避方案; - 建议用户前往 ask 社区 发帖并附上 demo,官方将跟进处理;
- 若问题紧急,可考虑使用自定义 tabbar 替代原生 tabbar 以彻底规避该问题。
- 用户可尝试在
如需进一步协助,请补充 demo 并前往 ask 社区发帖,我们会持续跟进。
请提供复现工程说明问题。并自查安卓是否正常,本地开发是否可以稳定复现,使用审查工具看看具体是什么丢失了,是 css 问题吗
-
x***@outlook.com (作者)
需要提供源码嘛 安卓我试了是没有出现的 本地ios开发是可以复现的 就是退出开发应用的后台 过段时间再打开就会出现 不是css的问题
2026-02-27 11:25
-