代码之家  ›  专栏  ›  技术社区  ›  gowtham T

如何在滚动期间按按钮停止UIPickerView-Xamarin。IOS

  •  2
  • gowtham T  · 技术社区  · 8 年前

    我正在开发Xamarin。ios项目。

    我创建了编号为1到10000的UIPickerView。它滚动良好。

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

    请帮我解决这个问题。 我做了很多研究,但没有解决。

    1 回复  |  直到 8 年前
        1
  •  0
  •   SushiHangover    8 年前

    A. UIPickerView 包含 UIScrollView 作为其子视图之一,因此,如果递归搜索该视图,然后测试该视图是否因被“甩”而仍在滚动(动画),则可以通过将内容偏移设置为当前内容偏移来阻止它在其轨迹中死掉。

    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);
    }
    
    推荐文章