Как разместить кнопки просмотра листов

#swift #vstack #spreadsheetview

Вопрос:

 import SwiftUI

struct SecondView: View {
    var name: String
    var body: some View {
        Text("Main Dishses (name)")
    }
}

struct ContentView: View {
    @State private var showingSheet = false
    var body: some View {
        Button("Menu") { 
            self.showingSheet.toggle()
        }
        .foregroundColor(.white)
        .font(Font.largeTitle.weight(.bold))
        .lineSpacing(50)
        .frame(width: 300, height: 300, alignment: .bottomLeading)
        .background(
        Image("bg")
            .resizable())
        .cornerRadius(12)
        .position(x: 150, y: 30)
        
        .sheet(isPresented: $showingSheet) {
            SecondView(name: "food")
                .padding()
        }
    }
}
 

Если я попытаюсь вставить это в VStack, я получу ошибки, потому что я добавляю командную строку представления структуры в VStack, что является единственным способом заставить этот код работать, я хочу добавить по крайней мере 4 из этих кнопок просмотра листов, и все, что я нашел в Интернете, не сработало, пожалуйста, отправьте рабочий код кнопок просмотра листов в VStack.

Ответ №1:

вот так, 2 кнопки в VStack. Вы, конечно, можете легко сделать 4 из них.

 struct ContentView: View {
    @State private var showingSheet1 = false
    @State private var showingSheet2 = false
    var body: some View {
        VStack (spacing: 77) {
            Button("Menu") {
                showingSheet1.toggle()
            }
            .sheet(isPresented: $showingSheet1) {
                SecondView(name: "lobster")
            }
            Button("Desert") {
                showingSheet2.toggle()
            }
            .sheet(isPresented: $showingSheet2) {
                SecondView(name: "cake")
            }
            
        }
    }
}