Skip to content

Instantly share code, notes, and snippets.

@takoikatakotako
Created October 24, 2024 01:45
Show Gist options
  • Select an option

  • Save takoikatakotako/1ae01c6fcc29c2fdca95fd2407647966 to your computer and use it in GitHub Desktop.

Select an option

Save takoikatakotako/1ae01c6fcc29c2fdca95fd2407647966 to your computer and use it in GitHub Desktop.
SwiftUIでアラートとシートを出し分ける
import SwiftUI
struct ContentView: View {
@State var numberString: String = ""
@State var showingAlert: Bool = false
@State var showingSheet: Bool = false
var body: some View {
VStack {
TextField("Input Number", text: $numberString)
.padding()
.textFieldStyle(RoundedBorderTextFieldStyle())
Button(action: {
// Can numberString convert to Double?
guard Double(numberString) != nil else {
showingAlert = true
return
}
showingSheet = true
}) {
Text("Show Sheet")
}
}
.alert(Text("Error"), isPresented: $showingAlert, actions: {
Button("Close", role: .none) {
print("Close")
}
}, message: {
Text("Please Input Number")
})
.sheet(isPresented: $showingSheet) {
Text("\(numberString) can convert to Double")
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment