It seems like the state variable are not properly updated when a sheet is displayed for the first time.
For instance with this code:
import SwiftUI
struct DemoView: View {
@State var showDetails: Bool = false
var body: some View {
VStack {
Button(action: {
showDetails = true
}) {
Text("Show sheet")
}
}.sheet(isPresented: $showDetails){
VStack {
Text("showDetails: \(showDetails ? "yes" : "no")")
}
}
}
}
struct DemoView_Previews: PreviewProvider {
static var previews: some View {
DemoView()
}
}
This will display "no" on first click, and "yes" on second, as showcased here:
Am I missing something? How can I make sure my state variables are properly read by the sheet view?