如何确定绘图已由Core-Plot渲染

时间:2015-01-27 19:13:51

标签: ios core-plot

在我们的项目中,我们使用CorePlot显示一些图形,它们使用CPTXYPlot,我们正在显示一些散点图。这一切都很好,我们实际上很喜欢绘图库。非常感谢Eric Skroch和他们团队所做的出色工作!

由于我们在视图中显示了很多内容,因此我们必须将大部分工作推送到单独的线程上。完成这些工作后,我们会显示一个活动指示器。为了知道何时隐藏活动指示器,我们需要知道的一件事是绘图是否已完成。但是当我们用于更新绘图的代码块完成时,绘图仍未完成,但执行完成。因此,我们的活动指标过早隐藏。

以下是我们正在做的事情。绘图本身是在主线程上创建的(我已经读过它必须在那里创建)。

在另一个线程中,我们将从图表中删除所有图表,重新计算数据,然后再次添加图表。类似的东西:

Graph.removePlotWithIdentifier(_baselineScatterPlotIdentifier)
for i in 0..<comparedPlotsData.count {
    Graph.removePlotWithIdentifier("\(_comparedScatterPlotIdentifierPrefix)\(i)")
}

// Data update goes here

Graph.addPlot(drawBaselineScatterPlot())
for i in 0..<comparedPlotsData.count {
    Graph.addPlot(drawComparedScatterPlot(i))
}

在我们的例子中,此代码在我们实际看到更新的图之前几秒完成。只有一点澄清,散点图的最大数量小于10。

您能否告诉我们我们缺少什么或我们做错了什么?

1 个答案:

答案 0 :(得分:1)

创建一个绘图委托并实现-didFinishDrawing:方法。完成绘制周期的绘图作为参数传递给方法,以便您可以跟踪哪些已完成。

相关问题