これらの 2 つのビューがあり、EditButton
タップすると、そのうちの 2 つ (TestView/BottomToolbar
と BottomView/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)
}
}
}