【SwiftUI】ポップアップに”二度と表示しない”のトグルをつける

最初だけポップアップが表示されて、次回からはユーザーがポップアップの有無を選べるトグル。

あれの実装方法です。

.sheetでポップアップを表示します。AppStorageを使って「二度と表示しない」をBooleanで設定して置けばOK

import SwiftUI

struct ContentView: View {
    @AppStorage("dontShowAgain") var dontShowAgain = false
    @State private var showingPopup = false

    var body: some View {
        VStack {
            Button("Show Popup") {
                if !dontShowAgain {
                    showingPopup = true
                }
            }
        }
        .sheet(isPresented: $showingPopup) {
            HowToSetIcon(dontShowAgain: $dontShowAgain)
        }
    }
}

popupViewの中身

import SwiftUI

struct PopupView: View {
    @Environment(\.presentationMode) var presentationMode
    @Binding var dontShowAgain: Bool

    var body: some View {
        VStack {
            Text("This is a popup")

            Toggle(isOn: $dontShowAgain) {
                Text("二度と表示しない")
            }

            Button("Close") {
                self.presentationMode.wrappedValue.dismiss()
            }
        }
    }
}

coiai.netでは案件受付中です。
Vtuber、建築モデリング、EC構築、ネイティブアプリ制作、制服の制作(実は縫製業もメイン)、Vision Pro向けアプリ etc…
様々な制作開発を行っています。

ご気軽にご相談ください!

コイアイちゃんのアバター

この記事を書いたのは


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Top
Blog
Works
contact