@s19h058 s19h058 / 73baf8c00be4013ec45d531e0a1f4005
Created at Thu Oct 13 19:29:38 JST 2022
画面遷移案
gistfile1.txt
Raw
// 案1. info.viewにnavigationLinkCellをif文で並べる。最終手段

    if (text_info == "Experiment1") {
        NavigationLinkCell(title:text_info,destination: Experiment1())
    } elseif (...
 
// 案2. @ViewBuilderを使ってViewを返すメソッドを作る。swich case使うから案1とあんまり変わらないけどすっきりする(動作未検証)
// 参考サイト https://qiita.com/snoozelag/items/2187b94bf9e20343e02c


struct collisiontest_info: View {
    @Binding var text_info : String
    
    var body: some View {
        VStack{
            Text("説明!")
                .font(.largeTitle)
            if let asset = NSDataAsset(name: text_info) {
                    let sampletext = String(data: asset.data, encoding: .utf8)
                Text(sampletext!)
            }
            
            Spacer()
            NavigationLink(destination: NextView()){
                Text(text_info)
                    .modifier(Infomodifier())}
        }
        
    }
    @ViewBuilder
    private func NextView() -> some View {
    
        switch text_info {
            case "Experimet1":
                Experimet1()
            case "Experimet2":
                Experimet2()
            case "Experimet3":
                Experimet3()
            default:
                break
        }
    }
    
}
 


/* 案3 いっその事menu.view -> info.view -> Experimwnt.viewじゃなくて
menu.view ->  Experimwnt.view -> info.viewにする。実験画面からhelpボタンで
説明画面を呼び出すようにすれば今の問題は一応解決する。CS版で応相談。
*/