Swift UI弹出多个视图

时间:2020-04-19 05:10:42

标签: ios swiftui swiftui-navigationlink

我的应用程序在navigationView View1-> View2-> View3内具有视图链。 我想弹出2个视图,所以我从View3回到View1。我目前的解决方案可以做到这一点,但它显示的是View2,我不想让用户看到。

当前解决方案:

final class NavigationViewController: ObservableObject {
    private var functions = [() -> ()]()
    @Published var dismiss = false {
        didSet {
            if dismiss {
                for function in functions {
                    function()
                }
                functions.removeAll()
            }
        }
    }

    func addFunction(function: @escaping () -> ()) {
        functions.append(function)
    }
}

View2和View3具有dismiss方法,当View3将dismiss设置为true时将调用该方法。

    .onAppear() {
        self.navigationController.addFunction(function: self.dismiss)
    }

我不知道该如何实现。

0 个答案:

没有答案