最初だけポップアップが表示されて、次回からはユーザーがポップアップの有無を選べるトグル。
あれの実装方法です。
.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()
}
}
}
}
コメントを残す