Я пытаюсь настроить вид, который может отображать несколько модальных режимов в зависимости от того, какая кнопка нажата.
Когда я добавляю только один sheet
, все работает:
.sheet(isPresented: $showingModal1) { ... }
Но когда я добавляю другой лист, работает только последний.
.sheet(isPresented: $showingModal1) { ... }
.sheet(isPresented: $showingModal2) { ... }
ОБНОВИТЬ
Я пытался заставить это работать, но я не уверен, как объявить тип для modal
. Я получаю сообщение об ошибке Protocol 'View' can only be used as a generic constraint because it has Self or associated type requirements
.
struct ContentView: View {
@State var modal: View?
var body: some View {
VStack {
Button(action: {
self.modal = ModalContentView1()
}) {
Text("Show Modal 1")
}
Button(action: {
self.modal = ModalContentView2()
}) {
Text("Show Modal 2")
}
}.sheet(item: self.$modal, content: { modal in
return modal
})
}
}
struct ModalContentView1: View {
var body: some View {
Text("Modal 1")
}
}
struct ModalContentView2: View {
var body: some View {
Text("Modal 2")
}
}