Я хочу запускать другой процесс непрерывно после отклонения модальности.
В следующем коде модал не закрывается и выполняется только последующая обработка.
Как я могу это сделать ?
Я использовал NotificationCenter и обратные вызовы, все с одинаковым результатом.
struct HomeView: View {
@State private var modalPresented: Bool = false
var body: some View {
VStack {
Button(action: {}) {
Text("setting")
}.sheet(isPresented: self.$modalPresented) {
SettingView(onDismiss: {
self.modalPresented = false
})
}
}
}
}
struct SettingView: View {
var onDismiss: () -> ()
@Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
var body: some View {
VStack {
Button(action: {
self.presentationMode.wrappedValue.dismiss()
// The following is the logout function.
logout()
}) {
Text("logout")
}
}
}
}