пу sh вид через 2 секунды в свифтуй - PullRequest
0 голосов
/ 14 февраля 2020

как получить sh представление через x секунд в swiftUI без какого-либо взаимодействия?

 NavigationView{
            .onAppear {
                DispatchQueue.main.asyncAfter(deadline: .now()+1.0) {
                    NavigationLink(destination: pageViewUi()) {
                        EmptyView()
                    }
                }
            }
}

Ответы [ 2 ]

3 голосов
/ 14 февраля 2020

Вы можете справиться с этим следующим образом:


struct ContentView: View {
    @State var show = false
    var body: some View {
        NavigationView{
            NavigationLink(destination: Text("OK"), isActive: $show, label: {
                EmptyView()
            })
                .onAppear {
                    DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
                        self.show.toggle()
                    }
            }
        }
    }
}

0 голосов
/ 14 февраля 2020

Вы должны управлять им, используя переменную состояния:

import SwiftUI

struct Home : View {
    @State var isActive = false

    var body: some View {
        NavigationView {
            VStack {
                Text("Home")
                NavigationLink(destination: Details(), isActive: self.$isActive) {
                    EmptyView()
                }
            }
        }.onAppear {
            DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) {
                self.isActive.toggle()
            }
        }
    }
}

struct Details : View {
    var body: some View {
        VStack {
            Text("sample code")
        }.navigationBarBackButtonHidden(true) // To hide back button
    }
}
...