ios - UIPickerView,检测 "rolling wheel"起停?

标签 ios xamarin.ios uipickerview

我刚刚发现,如果我执行以下操作:

  1. 单击将 UIPickerView 动画化到我的 View 中的按钮
  2. 快速启动轮子,然后驶过最后一项
  3. 使用按钮关闭 View

那么它还没有选择最后一个项目。

我通过简单地在 didSelectRow 方法被触发时输出到控制台来尝试这个,并且当轮子稳定在最后一个项目上时它会触发。

我能否检测到车轮仍在滚动,以便我可以延迟检查所选值直到它稳定下来?

如果重要的话,我正在用 MonoTouch 编程,但如果您有代码示例,我可以很好地阅读 Objective-C 代码以重新实现它。

最佳答案

由于动画键不起作用,我编写了这个简单的函数来检测 UIPickerView 当前是否正在移动。

-(bool) anySubViewScrolling:(UIView*)view
{
    if( [ view isKindOfClass:[ UIScrollView class ] ] )
    {
        UIScrollView* scroll_view = (UIScrollView*) view;
        if( scroll_view.dragging || scroll_view.decelerating )
        {
            return true;
        }
    }

    for( UIView *sub_view in [ view subviews ] )
    {
        if( [ self anySubViewScrolling:sub_view ] )
        {
            return true;
        }
    }

    return false;
}

它最终返回真正的五层深度。

关于ios - UIPickerView,检测 "rolling wheel"起停?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9202283/

相关文章:

ios - Swift 单元测试 EXC_BAD_ACCESS(代码=1,地址=0x8)

ios - 模块映射文件中是否需要 "link framework"行?

c# - MvvmCross - 从 View 模型调用 Web 服务

ios - 将文件中的音频与生成的声音混合

ios - 在 iPad 上使用 UIDatePickers 的指南是什么?

ios - 如何在 ios 应用程序中有条件地推送本地通知?

ios - Xamarin iOS TableViewController 拖到现有 ViewController 上时的不同类

ios - 使用 pickerview 填充 tableview

iphone - UIPickerView 中的文本右对齐

ios - 如何制作可点击的uiimage?