En iOS 15 o en una versión superior SwiftUI nos permite seleccionar una lista de opciones usando el modifier confirmationDialog() que también sirve para macOS.
Para crear un action sheet utilizando confirmationDialog(), tienes que proporcionar un título de texto, un binding para determinar cuando queremos mostrar nuestra sheet y opcionalmente si deseas que aparezca el título del texto, si no lo especificas SwiftUI lo decidirá basandose en el contexto.
Aqui tienes un ejemplo del modifier confirmationDialog() para mostrar una action sheet.
struct ContentView: View {
@State private var showingOptions = false
@State private var selection = "None"
var body: some View {
VStack {
Text(selection)
Button("Confirm paint color") {
showingOptions = true
}
.confirmationDialog("Select a color", isPresented: $showingOptions, titleVisibility: .visible) {
Button("Red") {
selection = "Red"
}
Button("Green") {
selection = "Green"
}
Button("Blue") {
selection = "Blue"
}
}
}
}
}
Que en XCode daría como resultado:
