快速点击 IOs PageControl 换页时,当前指针移动到页面前面

When changing page by tapping on IOs PageControl speedily, the current indicator moves ahead of the page

在我的 Xamarin.IOs 项目中,我有一个 UIPageControl 与启用分页的 UICollectionView 相结合。

我使用 CardPageControl.PrimaryActionTriggered 事件来处理滑动页面。

CardPageControl.PrimaryActionTriggered += OnPageControlTapped;

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

但是当我快速点击 PageControl 时,当前指示器会移动到当前页面的前面,然后在点击结束后,当前指示器会重新定位到正确的指示器中。

我该如何解决这个问题?

您必须启用 DefersCurrentPageDisplay。默认为 false

CardPageControl.DefersCurrentPageDisplay = true;

然后在 OnPageControlTapped 中,调用 CardPageControl、[=12= 的 UpdateCurrentPageDisplay() ]

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

    CardPageControl.UpdateCurrentPageDisplay();
}

这会将 PageControl 当前指示器与当前页面同步。