Mar*_*ark 12 xcode xcode15 ios17
我将 Xcode 更新到 15.0 并运行应用程序。当在 iOS 17 上运行应用程序时,我的应用程序崩溃并出现以下错误:
\n\n\n-[UINavigationBar layoutSubviews] 中的断言失败,UINavigationBar.m:3\xc2\xa0849 'NSInternalInconsistencyException',原因:'请求可见导航栏的布局
\n
它仅发生在带有 Xcode 15.0 的 iOS 17 上。对于 Xcode 14.3 和 iOS 17 - 没有。对于 Xcode 15 和 iOS 16.4 - 没有。
\n\n\n*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“请求可见导航栏的布局,<UINavigationBar:0x15bd34ee0;帧=(0 47;428 44);自动调整大小=W;色调颜色 = UIExtendedGrayColorSpace 0 1; Layer = <CALayer: 0x2813b9f40>> delegate=0x15c049e00 standardAppearance=0x2837b03c0 rollEdgeAppearance=0x2837b02a0 compactAppearance=0x2837b0540 compactScrollEdgeAppearance=0x2837b0240,当顶部项目属于不同的导航栏时。topItem = <UINavigationItem: 0x15bf26070> titleView=0x160f04840 style=navigator backBarButtonItem=0x15bf5f4d0 rightBarButtonItems=0x281c93f90,导航栏 = <UINavigationBar: 0x15bd05d60; 帧=(0 47;428 44);自动调整大小=W;色调颜色 = UIExtendedGrayColorSpace 0 1; 层 = <CALayer: 0x2813be380>> delegate=0x15c056800 standardAppearance=0x2837fd5c0 rollEdgeAppearance=0x2837fd7a0 CompactAppearance=0x2837fd080 CompactScrollEdgeAppearance=0x2837ff780,可能来自客户端尝试嵌套包装的导航控制器。
\n
需要帮忙 :)
\n我已经设置navigationController?.setNavigationBarHidden(true, animated: false)了viewWillLayoutSubviews(),但没有帮助
小智 7
我遇到了同样的问题,原因在于UISplitViewController的委托:当splitViewController(_:collapseSecondary:onto:)我将视图控制器从辅助导航控制器移动到主导航控制器时,我没有将它们从辅助导航控制器中删除。当我开始删除它们后,崩溃就消失了。因此,请尝试检查更改视图控制器父级的位置。
在我删除/评论这一行后,崩溃就消失了。
self.navigationController?.setNavigationBarHidden(false, animated: animated)
Run Code Online (Sandbox Code Playgroud)
您只需删除/评论
viewWillLayoutSubviews但这没有帮助setNeedsLayout()了,layoutIfNeeded()但这也| 归档时间: |
|
| 查看次数: |
2731 次 |
| 最近记录: |