Xamarin формы: клавиатура не скрывается при щелчке фона в Xamarin формы IOS - PullRequest
0 голосов
/ 22 ноября 2018

В обычном случае приложения xamarin forms ios клавиатура скрывается при нажатии на фон.Кроме того, прокрутка работает отлично, когда клавиатура включена.

Но когда страница содержит просмотр списка, клавиатура не закрывается, когда фоновое касание и прокрутка не работают в одном и том же случае.

Как я могу исправить эту проблему?Мне нужно закрыть клавиатуру при нажатии на фон и нужна функция прокрутки.Скриншот ошибки в Android:

enter image description here

1 Ответ

0 голосов
/ 23 ноября 2018

Причина:

Когда просмотр списка прокручивается. Событие касания будет заблокировано.

Решение:

Вы можете установить отклонение клавиатуры при запуске прокрутки listView. Вы должны реализовать ее в CustomRenderer.Refer следующий код.

в формах

namespace xxx
{
  public class MyListView:ListView
  {
    public MyListView()
    {

    }
  }
}

в xxx.iOS

[assembly:ExportRenderer(typeof(MyListView),typeof(MyiOSListView))] 
namespace xxx.iOS
{
 public class MyiOSListView:ListViewRenderer
  {
    public MyiOSListView()
    {

    }

    protected override void OnElementChanged(ElementChangedEventArgs<ListView> e)
    {
        base.OnElementChanged(e);

        if(Control!=null)
        {
            Control.KeyboardDismissMode = UIScrollViewKeyboardDismissMode.OnDrag;
        }

    }
 }
}

в xaml

 <local:MyListView>
    <local:MyListView.ItemsSource>
      ...  
    </local:MyListView.ItemsSource>>
 </local:MyListView> 
...