代码之家  ›  专栏  ›  技术社区  ›  westsider

当进行大量渲染时,UIPickerView响应缓慢

  •  1
  • westsider  · 技术社区  · 14 年前

    我有一个UIPickerView,它出现在图形视图顶部的UIPopoverController中。当图形视图是静态的(不绘制传入数据)时,UIPickerView响应非常快。但是,当我绘制传入数据时,UIPickerView非常没有响应。

    奇怪的是,我从picker的一行中选择一个组件,然后按“Done”。但是当我记录这些调用时,我看到-doneAction:在调用MeasurementViewController的-pickerView:didSelectRow:inComponent:之前很久就调用了。

    UIPickerView的响应是否被后面视图中的(OpenGL ES)呈现所阻碍?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Noah Witherspoon    14 年前

    听起来像,是的。在打开弹出窗口时,您可能需要暂停绘图(可能会使图形显示本身变暗)。我想是因为 -pickerView:didSelectRow:inComponent: 之所以不能立即调用,是因为picker视图可能不会调用delegate方法的动画减速/对齐功能,直到它固定在一行上,如果它滞后,则可能是在您按下“完成”按钮(该按钮对触摸即时响应)后一段时间。

        2
  •  0
  •   Community CDub    8 年前

    对于任何搜索UIPickerView更新问题的人,以下问题是不相关的,根据我的回答(和代码)可能会对您有所帮助:

    Responding to touchesBegan in UIPickerView instead of UIView