0

これらの 2 つのビューがあり、EditButtonタップすると、そのうちの 2 つ (TestView/BottomToolbarBottomView/TabView) を入れ替えます。

  • TestView/BottomToolbar 見える
  • BottomView/TabView 見えない

このようなことはできますか?はいの場合、どのように?

struct BottomView: View {
    @State private var tabSelection = 0
    var body: some View {
        TabView(selection: $tabSelection) {
            TestView().tabItem {
                Image(systemName: "tray")
            }.tag(0)
            AnotherView().tabItem {
                Image(systemName: "house")
            }.tag(1)
        }
    }
}

struct TestView: View {
    @State private var list = [1,2,3,4,5]
    @State private var selection = Set<Int>()
    @State var editMode: EditMode = .inactive
    
    var body: some View {
        NavigationView {
            List(selection: $selection) {
                ForEach(list, id: \.self) { item in
                    Text("\(item)")
                }
            }
            .toolbar {
                ToolbarItemGroup(placement: .navigationBarLeading) {
                    EditButton()
                }
                ToolbarItemGroup(placement: .bottomBar) {
                    if editMode == .active {
                        Button("Approve") { }
                        Spacer()
                        Button("Reject") { }
                    }
                }
            }
            .environment(\.editMode, $editMode)
        }
    }
}
4

0 に答える 0