/ / Obtener el índice seleccionado de WKPickerInterface - ios, apple-watch, watch-os-2

Obtenga el índice seleccionado de WKPickerInterface - ios, apple-watch, watch-os-2

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 № 1

Cada 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.

Enlace de fuente

ENLACE FUENTE ACTUALIZADO


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)

}