ios - 如何判断Plot已经被Core-Plot渲染过

标签 ios core-plot

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

由于我们在 View 上显示了很多东西,我们不得不将大部分工作推到一个单独的线程上。当这些事情完成时,我们会显示一个事件指示器。为了知道何时隐藏事件指示器,我们需要知道的一件事是绘图是否已完成。但是,当我们用于更新绘图的代码块完成时,绘图仍未完成,但执行完成。因此,我们的事件指示器会过早隐藏。

这就是我们正在做的事情。情节本身是在主线程上创建的(我读到它必须在那里创建)。

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

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。

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

最佳答案

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

关于ios - 如何判断Plot已经被Core-Plot渲染过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28178212/

相关文章:

objective-c - UITableView 不调用 numberOfRowsInSection 也不调用 cellForRowAtIndexPath

ios - 是否可以从 MKPolyline 继承

ios - 在后台捕获有关 ipad 的信息并发送

ios - Core Plot 中的 expandRangeByFactor 方法出错

ios - CocoaPods CorePlot 安装显示缺少框架和文件

objective-c - ShareKit 将 URL 发布到 Facebook

iphone - 如何从 iOS 中的 UIMenuController 中删除默认的 UIMenuItem?

ios - 放大核心图时更改majorIntervalScale

ios - CorePlot 1.5.1 中plotAreaViewPointForPlotPoint 的用法

ios - View Controller 中的两个饼图