Respondente do VisualElement no iOS
Essa plataforma específica do 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 propriedade associável VisualElement.CanBecomeFirstResponder
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 VisualElement.On<iOS>
método especifica que esse específico da plataforma só será executado 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 um VisualElement
pode se tornar o primeiro respondente para eventos de toque, em vez da página que contém o elemento. Isso permite que cenários como aplicativos de chat não ignorem um teclado quando um Button
é tocado.