2

ボタンタップなどのイベントでActionSheet(または他のモーダルですがアラート)を表示したいと思います。

状態変数を使用してそれを行う方法を見つけました。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)
    }
}
4

4 に答える 4