Selección de elementos de DatePicker en iOS
Este control específico de la plataforma iOS cuando la selección de elementos se produce en un elemento DatePicker
, lo 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 propiedad asociada DatePicker.UpdateMode
en un valor de la enumeración UpdateMode
:
<ContentPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<DatePicker MinimumDate="01/01/2020"
MaximumDate="12/31/2020"
ios:DatePicker.UpdateMode="WhenFinished" />
...
</StackLayout>
</ContentPage>
Como alternativa, se puede consumir desde C# mediante la API fluida:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
datePicker.On<iOS>().SetUpdateMode(UpdateMode.WhenFinished);
El método DatePicker.On<iOS>
especifica que esta plataforma específica solo se ejecutará en iOS. El método DatePicker.SetUpdateMode
, en el espacio de nombres Xamarin.Forms.PlatformConfiguration.iOSSpecific
, se usa para controlar cuándo se produce la selección de elementos, con la enumeración UpdateMode
que proporciona dos valores posibles:
Immediately
: la selección de elementos se produce cuando el usuario examina los elementos enDatePicker
. Éste 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 enDatePicker
.
Además, el método SetUpdateMode
se puede usar para alternar los valores de enumeración llamando al método UpdateMode
, que devuelve el objeto actual UpdateMode
:
switch (datePicker.On<iOS>().UpdateMode())
{
case UpdateMode.Immediately:
datePicker.On<iOS>().SetUpdateMode(UpdateMode.WhenFinished);
break;
case UpdateMode.WhenFinished:
datePicker.On<iOS>().SetUpdateMode(UpdateMode.Immediately);
break;
}
El resultado es que se aplica un UpdateMode
especificado a DatePicker
, que controla cuándo se produce la selección de elementos: