Share via


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

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 cette sélection d’élément se produit lors de la navigation d’éléments dans le contrôle, ou une seule fois que le bouton Terminé est enfoncé. Elle est consommée 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>

Elle peut également être consommée à 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 ne s’exécutera que sur iOS. La TimePicker.SetUpdateMode méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.iOSSpecific de noms, est utilisée pour contrôler quand la sélection d’élément se produit, avec l’énumération UpdateMode fournissant deux valeurs possibles :

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

En outre, la SetUpdateMode méthode peut être utilisée pour activer/désactiver les valeurs d’énumération en appelant la UpdateMode méthode, qui retourne le résultat 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é au TimePicker, qui contrôle lorsque la sélection d’élément se produit :

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