It looks like in iOS 14 the sheet(isPresented:content:)
is now created beforehand, so any changes made to selectedModel
are ignored.
Try using sheet(item:content:)
instead:
var body: some View {
List {
...
}
.sheet(item: self.$selectedModel) {
SpeakerDetailView(speaker: $0)
}
}
and dismiss the sheet using @Environment(\.presentationMode)
:
struct SpeakerDetailView: View {
@Environment(\.presentationMode) private var presentationMode
var speaker: Speaker
var body: some View {
Text("Speaker view")
.onTapGesture {
presentationMode.wrappedValue.dismiss()
}
}
}