Ich möchte eine Funktion aufrufen, wenn sich der Wert von selectedOption ändert. Gibt es eine Möglichkeit, dies in SwiftUI ähnlich wie beim Bearbeiten eines TextFields zu tun?
Insbesondere möchte ich die ausgewählte Option speichern, wenn der Benutzer die ausgewählte Option ändert.
Hier ist meine Auswahl:
struct BuilderPicker: View {
let name: String
let options: Array<String>
@State var selectedOption = 0
var body: some View {
HStack {
Text(name)
.font(.body)
.padding(.leading, 10)
Picker(selection: $selectedOption, label: Text(name)) {
ForEach(0 ..< options.count) {
Text(self.options[$0]).tag($0)
}
}.pickerStyle(SegmentedPickerStyle())
.padding(.trailing, 25)
}.onTapGesture {
self.selectedOption = self.selectedOption == 0 ? 1 : 0
}
.padding(.init(top: 10, leading: 10, bottom: 10, trailing: 0))
.border(Color.secondary, width: 3)
.padding(.init(top: 0, leading: 15, bottom: 0, trailing: 15))
.font(.body)
}
}
Ich bin noch neu bei SwiftUI und würde gerne Hilfe bekommen. Vielen Dank!
[self.selectedOption].publisher.first()
öffentliche API? Es fühlt sich nicht wie eine öffentliche API an, aber verdammt noch mal, es funktioniert.