【问题标题】:UIPickerView slow to respond when lots of rendering is going on进行大量渲染时,UIPickerView 响应缓慢
【发布时间】:2010-11-09 21:33:44
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: ipad uipickerview


    【解决方案1】:

    听起来像,是的。当您打开弹出框时,您可能希望暂停绘图(可能会使图形显示本身变暗)。我猜想你的-pickerView:didSelectRow:inComponent: 没有被立即调用的原因是因为选择器视图所做的动画减速/对齐的东西——它可能不会调用委托方法,直到它被固定在一行上,其中,如果它滞后,可能是在您点击“完成”按钮后一段时间(它会立即响应触摸)。

    【讨论】:

    • 谢谢。我想你是正确的。我刚刚在 iPhone 上检查了我的应用程序(当然,它是 iPhone 4),但 MeasurementViewController 被推送到导航堆栈,因此图表不再可见。事实上,它的 UIViewController 不再活动。在 iPhone 上 UIPickerView 是响应式的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 2015-04-16
    • 2021-06-04
    相关资源
    最近更新 更多