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

时间:2010-11-09 21:33:45

标签: ipad uipickerview

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

UIPopoverController内部是我的MeasurementViewController(允许用户更改沿其中一个图形轴绘制的测量值)。 MeasurementViewController有一个“完成”按钮和一个UIPickerView。

奇怪的是,我从选取器中的一行中选择一个组件,然后按“完成”。但是当我记录这些调用时,我看到-doneAction:在MeasurementViewController的-pickerView:didSelectRow:inComponent:之前调用很长时间。

UIPickerView的响应能力是否受到其背后视图中(OpenGL-ES)渲染的阻碍?

2 个答案:

答案 0 :(得分:1)

听起来很棒,是的。您可能希望在弹出窗口打开时暂停图形(可能会使图形显示本身变暗)。我猜你的-pickerView:didSelectRow:inComponent:没有被立即调用的原因是因为选择器视图所做的动画减速/对齐功能 - 它可能不会调用委托方法,直到它被安排在一行上,如果它已经滞后,可能需要一段时间才能点击“完成”按钮(即时响应)。

答案 1 :(得分:0)

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

Responding to touchesBegan in UIPickerView instead of UIView

相关问题