在 swiftui 中 2 秒后推送视图
push view after 2 seconds in swiftui
如何在没有任何交互的情况下在 swiftUI 中在 x 秒后推送视图?
NavigationView{
.onAppear {
DispatchQueue.main.asyncAfter(deadline: .now()+1.0) {
NavigationLink(destination: pageViewUi()) {
EmptyView()
}
}
}
}
你可以这样处理:
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()
}
}
}
}
}
您需要使用状态变量来管理它:
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
}
}
如何在没有任何交互的情况下在 swiftUI 中在 x 秒后推送视图?
NavigationView{
.onAppear {
DispatchQueue.main.asyncAfter(deadline: .now()+1.0) {
NavigationLink(destination: pageViewUi()) {
EmptyView()
}
}
}
}
你可以这样处理:
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()
}
}
}
}
}
您需要使用状态变量来管理它:
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
}
}