Puedo conseguir el WKInterfacePicker
llamar pickerDidSettle
, pero ¿cómo puedo obtener el índice del elemento seleccionado?
@IBAction override func pickerDidSettle(picker: WKInterfacePicker) {
print("Picker settled to index: (picker)")
}
Respuestas
6 para la respuesta № 1Cada vez que cambia el valor del selector, el objeto WKInterfacePicker reporta el cambio a su método de acción asociado. El formato de este El método de acción es el siguiente:
C OBJETIVO
- (IBAction) pickerAction: (NSInteger) índice
RÁPIDO @IBAction func pickerAction (index: Int)
Puede utilizar el valor de índice del método de acción paraobtener el seleccionado elemento de la matriz de elementos que utilizó para configurar el selector. los Selector informa de cada cambio en su método de acción, independientemente de cómo rápido el usuario gira la corona digital. Si tu aplicación responde solo Para el elemento que seleccionó el usuario, use el método pickerDidSettle: WKInterfaceController para obtener el elemento seleccionado en su lugar.
0 para la respuesta № 2
Lo que hice para resolver esto.
Crear en archivo .h
NSInteger PickerIndex;
rápido
var PickerIndex: Int
Entonces en mi .m
- (IBAction)pickerAction:(NSInteger)index {
PickerIndex = index;
}
rápido
@IBAction func pickerAction(index: Int) {
PickerIndex = index
}
* No te olvides de vincular IBAction en Interface Builder
Y luego usarlo en el método pickerDidSettle
-(void)pickerDidSettle:(WKInterfacePicker *)picker{
NSLog(@"Selected Index: %ld",(long)PickerIndex);
}
rápido
func pickerDidSettle(_ picker: WKInterfacePicker) {
print(PickerIndex)
}