如何在滚动期间通过按下按钮停止UIPickerView - Xamarin.IOS

时间:2018-03-24 14:42:13

标签: xamarin scroll xamarin.ios uipickerview

我正在开发Xamarin.ios项目。

我创建了UIPickerView,编号为1到10000.它滚动得很好。

这是我的需要。当按下按钮时我需要在滚动时停止UIPickerView并想要获得停止位置值。

请帮我解决这个问题。 我已经研究了很多但没有得到解决。

1 个答案:

答案 0 :(得分:0)

UIPickerView包含UIScrollView作为其子视图之一,因此如果您递归搜索该视图,然后测试它是否仍在滚动(动画),因为它是&#34 ; flinged",你可以通过将内容偏移设置为当前内容偏移来阻止它在轨道中停止。

public void StopScrolling(UIPickerView view)
{
    void FindViews(UIView subView)
    {
        foreach (var item in subView.Subviews)
        {
            switch (item)
            {
                case UIScrollView sv:
                    if (sv.Dragging)
                        sv.SetContentOffset(sv.ContentOffset, false);
                    break;
                default:
                    FindViews(item);
                    break;
            }
        }
    }
    FindViews(view);
}