В SwiftUI представление является функцией состояния, поэтому, если ваш флаг, связанный с модальным, листом действий или появившимся предупреждением, не установлен в значение false, наложение будет продолжаться. Когда пользователь отклоняет лист действия, ваш ContentView перерисовывается и, поскольку showActionSheet все еще имеет значение true, он снова отображается.
ActionSheet
.actionSheet(isPresented: $showActionSheet) {
ActionSheet(title: Text("This is a test"),
buttons: [ActionSheet.Button.cancel({
self.showActionSheet = false })])
}
Модальный
.sheet(item: $showModal,
onDismiss: {
self.showModal = false
}) { Text("Modal") }