Xcode 14更新后UINavigationBar断言报错及导航内容不显示求助
常见修复步骤:
检查Storyboard/XIB的导航栏配置
这个断言核心原因是导航控制器的导航栏被手动修改了独占控制权相关配置:- 打开包含目标导航控制器的Storyboard/XIB
- 选中导航控制器的导航栏
- 在属性检查器中,确保Lock Navigation Bar选项处于勾选状态
- 在连接检查器中,删除导航栏的
delegate连接(如果存在)
清除Xcode缓存
Xcode更新后的缓存可能导致配置读取异常:- 关闭Xcode
- 打开终端执行命令:
rm -rf ~/Library/Developer/Xcode/DerivedData - 重启Xcode并重新编译项目
移除代码中对导航栏的手动干预
如果代码里存在类似navigationBar.delegate = self或navigationBar.isLocked = false的语句,直接删除——UINavigationController会自动管理导航栏的代理和锁定状态,手动修改会触发断言冲突。修正SceneDelegate的窗口初始化代码
确保窗口配置逻辑完整且正确:func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowScene = (scene as? UIWindowScene) else { return } let window = UIWindow(windowScene: windowScene) // 替换成你的根视图控制器 let rootVC = YourRootViewController() let navigationVC = UINavigationController(rootViewController: rootVC) window.rootViewController = navigationVC window.makeKeyAndVisible() self.window = window }
内容的提问来源于stack exchange,提问作者Polina
相关产品推荐
相关产品推荐

