You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iPadOS 18顶部悬浮TabBar如何通过代码实现隐藏?

iPadOS 18 下隐藏顶部TabBar的可行方案
  • 强制修改TabBar布局
    iPadOS 18对顶部TabBar的布局逻辑做了调整,常规的isHidden、alpha等属性修改会被系统覆盖。可以直接修改TabBar的frame为空白区域,再强制刷新布局:

    tabBarController.tabBar.frame = CGRect.zero
    tabBarController.tabBar.setNeedsLayout()
    tabBarController.tabBar.layoutIfNeeded()
    
  • 隐藏TabBar同时调整子控制器布局约束
    系统可能因为子控制器的布局依赖TabBar的存在,导致隐藏操作失效。设置tabBar.isHidden = true后,手动调整子控制器的view约束,让其填满整个屏幕:

    tabBarController.tabBar.isHidden = true
    guard let navVC = tabBarController.selectedViewController as? UINavigationController else { return }
    navVC.viewControllers.forEach { vc in
        vc.view.translatesAutoresizingMaskIntoConstraints = false
        NSLayoutConstraint.activate([
            vc.view.topAnchor.constraint(equalTo: tabBarController.view.topAnchor),
            vc.view.leadingAnchor.constraint(equalTo: tabBarController.view.leadingAnchor),
            vc.view.trailingAnchor.constraint(equalTo: tabBarController.view.trailingAnchor),
            vc.view.bottomAnchor.constraint(equalTo: tabBarController.view.bottomAnchor)
        ])
    }
    
  • 私有API临时方案(仅测试用)
    如果你只是做内部调试或测试,可尝试调用私有属性强制隐藏,但此方法无法通过App Store审核:

    tabBarController.setValue(true, forKey: "_hidesTabBar")
    

内容的提问来源于stack exchange,提问作者iroh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 01:54:52