Я хочу показать ActionSheet (или любой другой мод, кроме Alert) для какого-то события, например, нажатия кнопки.
Я нашел способ сделать это, используя переменную состояния.Мне кажется немного странным отображать его таким образом, потому что мне приходится сбрасывать переменную, когда ActionSheet закрывается вручную.
Есть ли лучший способ сделать это?
Почему существует отдельный метод представления Alert, который позволяет связать его видимость с переменной состояния?Какая разница с моим подходом?
struct Sketch : View {
@State var showActionSheet = false
var body: some View {
ZStack {
Button(action: { showActionSheet = true }) { Text("Show") }
}
.presentation(showActionSheet ?
ActionSheet(
title: Text("Action"),
buttons: [
ActionSheet.Button.cancel() {
self. showActionSheet = false
}
])
: nil)
}
}