Premier répondeur VisualElement sur iOS

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

Cette plateforme iOS spécifique permet à un VisualElement objet de devenir le premier répondeur aux événements tactiles, plutôt que la page contenant l’élément. Il est consommé en XAML en définissant la VisualElement.CanBecomeFirstResponder propriété pouvant être liée sur true:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout>
        <Entry Placeholder="Enter text" />
        <Button ios:VisualElement.CanBecomeFirstResponder="True"
                Text="OK" />
    </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;
...

Entry entry = new Entry { Placeholder = "Enter text" };
Button button = new Button { Text = "OK" };
button.On<iOS>().SetCanBecomeFirstResponder(true);

La VisualElement.On<iOS> méthode spécifie que cette plateforme spécifique s’exécutera uniquement sur iOS. La VisualElement.SetCanBecomeFirstResponder méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.iOSSpecific de noms, est utilisée pour définir pour VisualElement devenir le premier répondeur aux événements tactiles. En outre, la VisualElement.CanBecomeFirstResponder méthode peut être utilisée pour renvoyer si le VisualElement est le premier répondeur aux événements tactiles.

Le résultat est qu’un VisualElement peut devenir le premier répondeur pour les événements tactiles, plutôt que la page contenant l’élément. Cela permet des scénarios tels que les applications de conversation qui ne ignorent pas un clavier lorsqu’un Button est appuyé.