Selección de elementos timePicker en iOS

Descargar ejemploDescargar el ejemplo

Este control específico de la plataforma iOS cuando se produce la selección de elementos en , TimePickerlo que permite al usuario especificar que la selección de elementos se produce al examinar los elementos del control, o solo una vez que se presiona el botón Listo . Se consume en XAML estableciendo la TimePicker.UpdateMode propiedad adjunta en un valor de la UpdateMode enumeración:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout>
       <TimePicker Time="14:00:00"
                   ios:TimePicker.UpdateMode="WhenFinished" />
       ...
    </StackLayout>
</ContentPage>

Como alternativa, se puede consumir desde C# mediante la API fluida:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

timePicker.On<iOS>().SetUpdateMode(UpdateMode.WhenFinished);

El TimePicker.On<iOS> método especifica que esta plataforma específica solo se ejecutará en iOS. El TimePicker.SetUpdateMode método , en el Xamarin.Forms.PlatformConfiguration.iOSSpecific espacio de nombres , se usa para controlar cuándo se produce la selección de elementos, con la UpdateMode enumeración que proporciona dos valores posibles:

  • Immediately: la selección de elementos se produce cuando el usuario examina los elementos de .TimePicker Este es el comportamiento predeterminado en Xamarin.Forms.
  • WhenFinished: la selección de elementos solo se produce una vez que el usuario ha presionado el botón Listo en .TimePicker

Además, el SetUpdateMode método se puede usar para alternar los valores de enumeración mediante una llamada al UpdateMode método , que devuelve el objeto actual UpdateMode:

switch (timePicker.On<iOS>().UpdateMode())
{
    case UpdateMode.Immediately:
        timePicker.On<iOS>().SetUpdateMode(UpdateMode.WhenFinished);
        break;
    case UpdateMode.WhenFinished:
        timePicker.On<iOS>().SetUpdateMode(UpdateMode.Immediately);
        break;
}

El resultado es que se aplica un especificado UpdateMode a , TimePickerque controla cuándo se produce la selección de elementos:

Captura de pantalla específica de la de los modos de actualización de TimePicker de la plataforma