Primer respondedor de VisualElement en iOS
Esta característica específica de la plataforma iOS permite a un objeto VisualElement
convertirse en el primer respondedor para tocar eventos, en lugar de la página que contiene el elemento. Se consume en XAML estableciendo la propiedad VisualElement.CanBecomeFirstResponder
enlazable en 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, 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 método VisualElement.On<iOS>
especifica que esta plataforma específica solo se ejecutará en iOS. El método VisualElement.SetCanBecomeFirstResponder
, del espacio de nombres Xamarin.Forms.PlatformConfiguration.iOSSpecific
, se usa para establecer qué VisualElement
se convierte en el primer respondedor para eventos táctiles. Además, el método VisualElement.CanBecomeFirstResponder
se puede usar para devolver información sobre si VisualElement
es el primer respondedor en tocar eventos.
El resultado es que un elemento 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 ignoran un teclado cuando se pulsa Button
.