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

Xcode 13.1 xib项目设置UINavigationController后导航栏不显示如何解决

问题排查与解决方案
  • 检查导航栏显式隐藏设置
    你可以先在HomeViewViewController的viewWillAppear方法中加入代码强制显示导航栏:
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        navigationController?.setNavigationBarHidden(false, animated: animated)
    }
    
    同时排查是否在HomeViewViewController的生命周期方法(比如viewDidLoad、viewDidAppear)中主动调用了setNavigationBarHidden(true, animated:)隐藏导航栏。
  • 检查Xib相关配置
    打开HomeViewViewController对应的xib文件,选中右侧属性检查器,找到Top Bar选项,确认没有设置为None,建议选择Inferred或者Navigation Bar。
  • 检查导航栏外观全局配置
    排查项目中是否有全局设置UINavigationBar外观的代码,比如设置了isHidden = true、或者背景色和父视图背景色完全一致导致视觉上看不见的情况,可以临时给导航栏设置一个明显的背景色测试:
    // 在创建导航控制器后加入以下代码测试
    navController.navigationBar.backgroundColor = .systemBlue
    
  • 检查SceneDelegate代码完整性
    确认你已经正确声明了window属性,属性修饰符需要是var而不是let,正确声明方式如下:
    class SceneDelegate: UIResponder, UIWindowSceneDelegate {
        var window: UIWindow?
        // 其余代码...
    }
    
  • 检查项目配置
    确认项目的Info.plist中没有删除Scene相关配置,且Application Scene Manifest配置项完整,入口配置没有指定其他自定义的根控制器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:24:08