SwiftUIにおける画面遷移の方法

前提

SwiftUIで被災者の避難誘導を支援するアプリを作っています。
起動画面から違う画面に移すための画面遷移を行いたいのですか,どのように実装すればいいのか迷っています.今やっているやり方以外にも方法があればご教授願いたいです。

実現したいこと

起動画面から違う画面に移すための画面遷移を行いたい.(ViewからViewに移動する)
理想としてはボタンを押せばランダムなView画面(4種類)に遷移させたい.

発生している問題・エラーメッセージ

一つの画面(View)にしか遷移できない

該当のソースコード

SwiftUI

1import SwiftUI 2 3struct ContentView: View { 4 // UI表示に必要なパラメーター 5 @State private var bpm: Int = 60 6 @State private var isPlaying: Bool = false 7 @State var answerNumber = 0 8 let soundPlayer = SoundPlayer() 9 // @State var isShowingView: Bool = false 10 // コントローラーのインスタンス 11 private var hapticscontroller = HapticController() 12 13 14 15 var body: some View { 16 //画面遷移はここです 17 NavigationView{ 18 VStack { 19 Text("ERESSアプリ") 20 .font(.largeTitle) 21 22 Image("zikkenmap") 23 .resizable() 24 .frame(width: 300,height: 300) 25 26 Text("振動の強弱設定") 27 .font(.system(size: 20)) 28 // BPMを表示 29 Text(String(bpm)) 30 .font(.system(size: 40)) 31 32 // "+"ボタン: タップするとBPMを1増やす 33 Button(action: { 34 self.bpm += 1 35 }, label: { 36 Image(systemName: "plus.circle") 37 .resizable() 38 .scaledToFit() 39 .frame(width: 60.0, height: 40.0) 40 }) 41 .disabled(isPlaying) 42 43 Button(action: { 44 self.bpm -= 1 45 }, label: { 46 Image(systemName: "minus.circle") 47 .resizable() 48 .scaledToFit() 49 .frame(width: 60.0, height: 40.0) 50 }) 51 .disabled(isPlaying) 52 53 54 //画面遷移はここです 55 .navigationBarItems(trailing: 56 NavigationLink(destination: escape2View()){ 57 Text("避難誘導開始") 58 } 59 ) 60 } 61 } 62 } 63} 64 65struct ContentView_Previews: PreviewProvider { 66 static var previews: some View { 67 ContentView() 68 } 69} 70

試したこと

このソースコードではナビゲーション関数を使用して画面遷移を行なっています.
displaymodeでの方法も試しましたがエラーが出てしまいうまくできませんでした

コメントを投稿

0 コメント