Первый ответ VisualElement в iOS

Download Sample Скачайте пример

Эта платформа iOS позволяет VisualElement объекту стать первым ответом на события касания, а не странице, содержащей элемент. Он используется в XAML, задав VisualElement.CanBecomeFirstResponder привязываемое свойство 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>

Кроме того, его можно использовать из C# с помощью 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);

Метод VisualElement.On<iOS> указывает, что эта платформа будет работать только в iOS. Метод VisualElement.SetCanBecomeFirstResponder в Xamarin.Forms.PlatformConfiguration.iOSSpecific пространстве имен используется для задания VisualElement первого отклика для событий касания. Кроме того, метод можно использовать для возврата того, VisualElement.CanBecomeFirstResponder является ли VisualElement первый ответчиком на события касания.

Результатом является то, что VisualElement может стать первым ответчиком для событий касания, а не страницы, содержащей элемент. Это позволяет сценариям, таким как приложения чата, не закрывать клавиатуру при Button нажатии клавиши.