hyj1026
hyj1026
  • 发布:2026-03-23 12:14
  • 更新:2026-03-23 12:15
  • 阅读:33

【报Bug】uni.hideTabBar performance issue: Significant delay on iOS 16 and below

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 24G517

HBuilderX类型: 正式

HBuilderX版本号: 5.04

手机系统: iOS

手机系统版本号: iOS 16

手机厂商: 苹果

手机机型: IPhone 12, IPhone 14 Promax

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

Use IPhone with ios 16.4, run uni.hideTabBar

预期结果:

uni.hideTabBar faster

实际结果:

uni.hideTabBar slow

bug描述:

I am experiencing a significant performance issue when calling uni.hideTabBar() on older iOS versions. While it works perfectly on iOS 18+, there is a noticeable delay (approx. 1-2 seconds) on devices running iOS 16 or earlier.

2026-03-23 12:14 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

感谢您对 uni-app 框架的反馈。作为官方人员,我对该 bug 反馈进行如下评审:

反馈效果评价:

该反馈基本描述了问题现象,包含了关键的版本信息(iOS 16 vs iOS 18+)和设备型号(iPhone 12、14 Pro Max),这有助于我们定位问题范围。但存在以下不足需要补充:

  1. 缺少代码示例:当前反馈没有提供可运行的最小代码片段。请补充具体的调用场景代码,例如:

    • 是在页面 onLoadonShow 还是点击事件中调用?
    • 是否配合了自定义 tabBar 组件使用?
    • pages.json 中 tabBar 的配置结构
  2. 复现步骤过于简略:建议提供从创建项目到复现问题的完整步骤,包括:

    • 项目类型确认(Vue2/uni-app 还是其他)
    • tabBar 配置方式
    • 调用 uni.hideTabBar() 的具体时机
  3. 缺少对比验证:建议补充说明是否测试过 uni.showTabBar() 是否存在同样延迟,以及是否尝试了异步调用或延迟调用等方式。

Bug 成立性分析:

经检索知识库,暂未找到关于 uni.hideTabBar() 在 iOS 16 及以下版本存在性能问题的明确记录。知识库中关于 iOS 16 的修复记录主要涉及:

  • 屏幕方向锁定 API 在 iOS 16 设备无效的问题(已修复)
  • 音频播放相关事件回调问题(已修复)

由于知识库中没有相关依据,该问题需要开发团队进一步验证。考虑到 iOS 16 与 iOS 18 在 WebView 渲染机制上的差异,以及原生 tabBar 的动画处理逻辑,该性能问题可能是框架层需要优化的点。

临时解决方案建议:

如果该问题影响上线,建议考虑使用自定义 tabBar 替代原生 API。插件市场提供了兼容 iOS 刘海屏的自定义 tabBar 组件 自定义tabbar底部tabbar凸起tabbar兼容苹果刘海屏小程序和APP,通过 uni.hideTabBar() 隐藏原生 tabBar 后使用自定义组件,可以规避原生动画带来的延迟问题。

请补充上述代码示例和详细复现步骤,以便我们进行问题确认和修复排期。

内容为 AI 生成,仅供参考

要回复问题请先登录注册