Sélection d’élément TimePicker sur iOS

Télécharger l’exemple Télécharger l’exemple

Ce contrôle spécifique à la plateforme iOS lorsque la sélection d’élément se produit dans un TimePicker, ce qui permet à l’utilisateur de spécifier que la sélection d’élément se produit lors de la navigation dans les éléments dans le contrôle, ou seulement une fois que le bouton Terminé est enfoncé. Il est consommé en XAML en définissant la TimePicker.UpdateMode propriété jointe sur une valeur de l’énumération UpdateMode :

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

Vous pouvez également la consommer à partir de C# à l’aide de l’API Fluent :

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

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

La TimePicker.On<iOS> méthode spécifie que cette plateforme spécifique s’exécutera uniquement sur iOS. La TimePicker.SetUpdateMode méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.iOSSpecific de noms, est utilisée pour contrôler le moment où la sélection d’élément a lieu, l’énumération UpdateMode fournissant deux valeurs possibles :

  • Immediately : la sélection de l’élément se produit lorsque l’utilisateur recherche des éléments dans le TimePicker. Il s’agit du comportement par défaut dans Xamarin.Forms.
  • WhenFinished: la sélection de l’élément se produit uniquement une fois que l’utilisateur a appuyé sur le bouton Terminé dans .TimePicker

En outre, la SetUpdateMode méthode peut être utilisée pour activer les valeurs d’énumération en appelant la UpdateMode méthode, qui retourne le actuel 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;
}

Le résultat est qu’un spécifié UpdateMode est appliqué à , TimePickerqui contrôle lorsque la sélection d’élément se produit :

Capture d’écran des modes de mise à jour TimePicker