При быстром изменении страницы путем нажатия на IOs PageControl текущий индикатор перемещается впереди страницы.
В моем проекте Xamarin.IOs у меня есть UIPageControl, который объединен с включенным подкачкой UICollectionView.
Я использую CardPageControl.PrimaryActionTriggered
событие для обработки пролистывания страницы.
CardPageControl.PrimaryActionTriggered += OnPageControlTapped;
private async void OnPageControlTapped(object sender, EventArgs e)
{
// SetContentOffset of the collection view
}
Но когда я быстро нажимаю на PageControl, текущий индикатор перемещается намного впереди текущей страницы, а затем, после того, как нажатие заканчивается, текущий индикатор перемещается в правильный индикатор.
Как я могу это исправить?
1 ответ
Решение
Вы должны включить DefersCurrentPageDisplay. Это ложно по умолчанию.
CardPageControl.DefersCurrentPageDisplay = true;
Затем внутри OnPageControlTapped вызовите UpdateCurrentPageDisplay() для CardPageControl,
private async void OnPageControlTapped(object sender, EventArgs e)
{
// SetContentOffset of the collection view
CardPageControl.UpdateCurrentPageDisplay();
}
Это синхронизирует текущий индикатор PageControl с текущей страницей.