Compartilhar via


Primeiros respondentes do VisualElement no iOS

Esse específico da plataforma iOS permite que um VisualElement objeto se torne o primeiro respondente a eventos de toque, em vez da página que contém o elemento. Ele é consumido em XAML definindo a VisualElement.CanBecomeFirstResponder propriedade associável como 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>

Como alternativa, ele pode ser consumido do C# usando a API fluente:

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

O método VisualElement.On<iOS> especifica que essa plataforma específica só será executada no iOS. O VisualElement.SetCanBecomeFirstResponder método, no Xamarin.Forms.PlatformConfiguration.iOSSpecific namespace, é usado para definir o VisualElement para se tornar o primeiro respondente para eventos de toque. Além disso, o VisualElement.CanBecomeFirstResponder método pode ser usado para retornar se o VisualElement é o primeiro respondente a eventos de toque.

O resultado é que a VisualElement pode se tornar o primeiro respondente para eventos de toque, em vez da página que contém o elemento. Isso permite cenários como aplicativos de bate-papo que não dispensam um teclado quando a Button é tocado.