【问题标题】:Core-Plot: Reloading data in just one of two plots核心情节:仅在两个情节之一中重新加载数据
【发布时间】:2011-11-11 06:49:58
【问题描述】:

我有一个包含两个图的图表。第一个绘图 CPTScatterPlot *boundLinePlot 是数据密集型的,只需创建一次。

另一方面,第二个图 CPTScatterPlot *dotPlot 只是一个在图形上移动以响应滑块变化的点。我只需要刷新这个情节。

我一直在滑块方法的末尾使用 [graph reloadData],但这必须刷新绘图并且性能会受到很大影响。仅重新加载一个绘图的语法是什么?

另外,是否可以仅在滑块停止移动时刷新,而不是在开始和停止之间刷新滑块的每个值?

【问题讨论】:

    标签: core-plot reloaddata


    【解决方案1】:

    您也可以在个别地块上致电-reloadData

    [dotPlot reloadData];
    

    【讨论】:

    • 埃里克,我不明白这是如何工作的,但事实并非如此。图形和绘图代码在方法 -(void)viewDidLoad 方法中,而更改要由 CPTScatterPlot *dotPlot 绘制的数据数组的滑块代码在另一个方法中, - (IBAction)selectRisk:(id)sender。跨度>
    • 您需要在实例变量中保留对图形或绘图的引用。如果您有对图表的引用,请使用-plotAtIndex:-plotWithIdentifier: 方法获取对点图的引用。
    【解决方案2】:

    你问:

    另外,是否可以仅在滑块停止移动时刷新而不是 在开始和停止之间刷新滑块的每个值?

    这可以通过取消设置滑块状态部分的“连续”标志来轻松实现。查看 xib 或在代码中动态设置:

    苹果机:

    [yourSlider setContinuous:NO];
    

    iOS:

    yourSlider.continuous=NO;
    

    【讨论】:

    • 谢谢,我从来没有注意到这个选项。在我的其他应用中,有几个地方可能适合这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多