При быстром изменении страницы путем нажатия на IOs PageControl текущий индикатор перемещается впереди страницы. - PullRequest
0 голосов
/ 07 июня 2018

В моем проекте Xamarin.IOs у меня есть UIPageControl, который комбинируется с включенным подкачкой страниц UICollectionView.

Я использую событие CardPageControl.PrimaryActionTriggered для обработки перелистывания страницы.

CardPageControl.PrimaryActionTriggered += OnPageControlTapped;

private async void OnPageControlTapped(object sender, EventArgs e)
{
    // SetContentOffset of the collection view
}

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

enter image description here

Как я могу это исправить?

1 Ответ

0 голосов
/ 07 июня 2018

Вы должны включить DefersCurrentPageDisplay .По умолчанию это false .

CardPageControl.DefersCurrentPageDisplay = true;

Затем внутри OnPageControlTapped , вызвать UpdateCurrentPageDisplay () из CardPageControl ,

private async void OnPageControlTapped(object sender, EventArgs e)
{
    // SetContentOffset of the collection view

    CardPageControl.UpdateCurrentPageDisplay();
}

Синхронизирует текущий индикатор PageControl с текущей страницей.

...