Core-Plot没有调用`plotWasSelectedAtRecordIndex` - 修订版

时间:2012-10-10 03:09:04

标签: cocoa-touch core-plot

我想在我的iPhone应用中为图形添加触控功能。但是,我似乎无法让plotWasSelectedAtRecordIndex注册一个电话。经过这里的一堆其他相关问题和其他地方的教程后,我似乎无法弄清楚我错过了什么。

能够为plotSpace的{​​{1}}方法注册。

模拟器上应用程序性能最显着的变化是我可以拖动我的plotspace,这实际上并不是我想要的。

我尝试将shouldHandlePointingDeviceCancelledEvent<CPTScatterPlotDelegate>分别添加到我的控制器标头中,并在我的实现中包含方法,并为图表设置委托,<CPTPlotSpaceDelegate>,情节和各种组合。

我已经回顾了PlotGallery示例中的GradientScatterPlot以及CPTestApp。

显然,我走错了路。所以,我的问题:从plotSpace获得回复的关键要素是什么?

1 个答案:

答案 0 :(得分:1)

  1. 确保委托类(通常是拥有该图的视图控制器)实现<CPTScatterPlotDelegate>协议。

  2. 在散点图委托类中实现以下方法之一:

    -scatterPlot:plotSymbolWasSelectedAtRecordIndex:
    -scatterPlot:plotSymbolWasSelectedAtRecordIndex:withEvent:
    
  3. 将散点图的delegate设置为您的委托对象。

  4. plotSymbolMarginForHitDetection设置为“合理”值,通常是绘图符号的大小。

  5. 在绘图空间中将allowsUserInteraction设置为NO以禁用滚动和缩放。情节代表仍然有效。