どうも、ちょげ(@chogetarou)です。
ある特定の時間が経過したら、自動で画面遷移する方法を紹介します。
方法

画面遷移を自動でするには、DispatchQueueを使います。
具体的には、DispatchQueueで特定の経過時間後に、画面遷移の処理を呼び出します。
//time経過後に画面遷移
DispatchQueue.main.asyncAfter(deadline: .now() + time) {
//画面遷移の処理
}
DispatchQueueのasyncAfterメソッドを使えば、特定の時間経過後に自動で画面遷移します。
使用例
struct ContentView: View {
@State var isShow = false
var body: some View {
VStack {
if isShow {
Text("Second View")
.onAppear{
DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
self.isShow = false
}
}
} else {
Text("First View")
.onAppear(perform: {
DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
self.isShow = true
}
})
}
}
}
}
コメント