通过快速点击IOs PageControl来更改页面时,当前指示器会移动到页面之前

时间:2018-06-07 10:18:47

标签: ios xamarin.ios uipagecontrol

在我的Xamarin.IOs项目中,我有一个UIPageControl,它与启用了Paging的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 :(得分:0)

您必须启用 DefersCurrentPageDisplay 。默认情况下,这是 false

CardPageControl.DefersCurrentPageDisplay = true;

然后在 OnPageControlTapped 中,调用 CardPageControl UpdateCurrentPageDisplay()

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

    CardPageControl.UpdateCurrentPageDisplay();
}

这将使PageControl当前指示符与当前页面同步。