Ich kann das bekommen WKInterfacePicker
anrufen pickerDidSettle
, aber wie kann ich den Index des ausgewählten Elements erhalten?
@IBAction override func pickerDidSettle(picker: WKInterfacePicker) {
print("Picker settled to index: (picker)")
}
Antworten:
6 für die Antwort № 1Jedes Mal, wenn sich der Auswahlwert ändert, das WKInterfacePicker-Objekt meldet die Änderung der zugehörigen Aktionsmethode. Das Format davon Aktionsmethode ist wie folgt:
ZIEL C
- (IBAction) PickerAction: (NSInteger) Index
SCHNELL @IBAction func pickerAction (Index: Int)
Sie können den Indexwert der Aktionsmethode für verwendenerhalte das ausgewählte Element aus dem Array von Elementen, die Sie zum Konfigurieren der Auswahl verwendet haben. Das picker meldet jede Änderung an seiner Aktionsmethode, unabhängig davon, wie Schnell dreht der Benutzer die digitale Krone. Wenn Ihre App nur antworten soll Verwenden Sie für das vom Benutzer ausgewählte Element die pickerDidSettle: -Methode von WKInterfaceController, um stattdessen das ausgewählte Element abzurufen.
AKTUALISIERTE QUELLENVERBINDUNG
0 für die Antwort № 2
Was ich getan habe, um das zu lösen
Erstellen Sie eine .h-Datei
NSInteger PickerIndex;
schnell
var PickerIndex: Int
Dann in meinem .m
- (IBAction)pickerAction:(NSInteger)index {
PickerIndex = index;
}
schnell
@IBAction func pickerAction(index: Int) {
PickerIndex = index
}
* Vergessen Sie nicht, die IBAction im Interface Builder zu verknüpfen
Und dann in der pickerDidSettle-Methode verwenden
-(void)pickerDidSettle:(WKInterfacePicker *)picker{
NSLog(@"Selected Index: %ld",(long)PickerIndex);
}
schnell
func pickerDidSettle(_ picker: WKInterfacePicker) {
print(PickerIndex)
}