【问题标题】:How to avoid app crash with TabView inside NavigationView when navigate backwards ios 13 SwiftUIios 13 SwiftUI向后导航时如何避免导航视图内的TabView应用崩溃
【发布时间】:2020-12-22 16:05:40
【问题描述】:

我在 NavigationView 中使用 TabView,但是当我尝试向后导航时我的应用程序崩溃,它在 AppDelegate 类中显示此错误消息“线程 1:EXC_BAD_ACCESS (code=2, address=0x16ad5bff0)”。在 ios 14 设备中它工作正常,但在 ios 13 上崩溃。我认为这是 ios 13 中的 navigationView 问题。我正在寻找 iOS 13 中的替代方案并避免崩溃。

PS:我使用的是 xcode 12。

【问题讨论】:

    标签: swiftui ios13 swiftui-navigationview swiftui-tabview


    【解决方案1】:

    自从 SwiftUI 启动以来,在 NavigationView 中嵌套 TabView 一直是个问题。最干净的解决方法是创建视图“视图层”。看看这个答案,让您了解它们的工作原理。

    Pure SwiftUI login, signup, register flow, is it possible?

    您可以在 SwiftUI 中使用感觉自然的分层来做很多事情。看看吧,如果您有任何问题,请告诉我!

    【讨论】:

    • 我很困惑,你能解释一下吗?
    • 你实际上是在 swiftui 中创建一个包装视图,它在视图层次结构中执行比传递给它的内容更高级别的操作。这使您能够控制何时显示下一层(或传递给它的内容)。您还可以通过环境或您喜欢的任何方式将在该包装器中创建的重要信息传递给视图层次结构中较低的视图。这使您能够执行很多操作,例如显示叠加视图或返回身份验证屏幕。你真的有很大的灵活性。
    • 它对我不起作用。请参阅此链接 [stackoverflow.com/questions/63074464/… 这是我最初的问题,我有一个解决方案,但是当我更新 xcode 时,我可以再回到第一个视图。有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-27
    • 2021-11-29
    • 2017-11-24
    • 2021-02-27
    相关资源
    最近更新 更多