Primer respondedor de VisualElement en iOS

Descargar ejemploDescargar el ejemplo

Esta plataforma específica de iOS permite que un VisualElement objeto se convierta en el primer respondedor para tocar eventos, en lugar de la página que contiene el elemento. Se consume en XAML estableciendo la VisualElement.CanBecomeFirstResponder propiedad trueenlazable en :

<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, se puede consumir desde C# mediante la API fluida:

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

El VisualElement.On<iOS> método especifica que esta plataforma específica solo se ejecutará en iOS. El VisualElement.SetCanBecomeFirstResponder método , en el Xamarin.Forms.PlatformConfiguration.iOSSpecific espacio de nombres , se usa para establecer que VisualElement se convierta en el primer respondedor para eventos táctiles. Además, el VisualElement.CanBecomeFirstResponder método se puede usar para devolver si VisualElement es el primer respondedor para tocar eventos.

El resultado es que un VisualElement puede convertirse en el primer respondedor para eventos táctiles, en lugar de la página que contiene el elemento . Esto permite escenarios como aplicaciones de chat que no descartan un teclado cuando se pulsa .Button