Ich habe eine UITableView in einem UIViewController. Es gibt zwei benutzerdefinierte Zellen. Einer davon hat ein UISegmentedControl.Swift - Wie wird das ausgewählte Steuerelementsegment in eine UITableView-Zelle eingebettet?
So weit, so gut.
Wenn ich auf das Steuerelement tippe, ändert sich der segmentierte Steuerwert und die IBAction-Funktion wird wie erwartet ausgeführt.
Das Problem ist, dass der ausgewählte Index immer als -1 angezeigt wird (auch nichts ausgewählt).
Was fehlt mir hier? Hier
ist der Code für die Wertänderung:
@IBAction func recurranceChanged(sender: UISegmentedControl?) {
print ("index: ", recurrenceControl.selectedSegmentIndex) << This returns -1
if recurrenceControl.selectedSegmentIndex == 0 {
print("No ")
}
if recurrenceControl.selectedSegmentIndex == 1 {
print("Sometimes ")
}
if recurrenceControl.selectedSegmentIndex == 2 {
print("Yes")
}
}
Haben Sie versucht, 'sender' anstelle von' recurrenceControl' zu verwenden? – OOPer
Das ist es .. Wenn Sie es zu einer Antwort machen wollen, werde ich das schließen .. BTW .. Für andere sollte der Code "Absender? .selectedSegmentIndex" –
Sie können eine Antwort auf Ihre eigene Frage. "BTW", in Aktionsmethoden müssen Sie nicht optional, deklarieren Sie den Parameter als 'sender: UISegmentedControl' (nein'? ') Und verwenden Sie als' sender.selectedSegmentIndex'. – OOPer