Objective c 在CorePlot DatePlot(iOS)中使用CptAnotation
我正在应用程序中使用CorePlot,我想在plotSymbol上显示注释。我在最新0.9版本的CorePlot的示例项目中没有找到任何代码。经过一些研究,我得出了这一点:Objective c 在CorePlot DatePlot(iOS)中使用CptAnotation,objective-c,ios,cocoa-touch,annotations,core-plot,Objective C,Ios,Cocoa Touch,Annotations,Core Plot,我正在应用程序中使用CorePlot,我想在plotSymbol上显示注释。我在最新0.9版本的CorePlot的示例项目中没有找到任何代码。经过一些研究,我得出了这一点: - (void)scatterPlot:(CPTScatterPlot *)plot plotSymbolWasSelectedAtRecordIndex:(NSUInteger)index { CPTLayerAnnotation *annot = [[CPTLayerAnnotation alloc]initWi
- (void)scatterPlot:(CPTScatterPlot *)plot plotSymbolWasSelectedAtRecordIndex:(NSUInteger)index
{
CPTLayerAnnotation *annot = [[CPTLayerAnnotation alloc]initWithAnchorLayer:graph];
CPTBorderedLayer * logoLayer = [[(CPTBorderedLayer *) [CPTBorderedLayer alloc] initWithFrame:CGRectMake(10,10,100,50)] autorelease];
CPTFill *fillImage = [CPTFill fillWithImage:[CPTImage imageForPNGFile:@"whatEver!"]];
logoLayer.fill = fillImage;
annot.contentLayer = logoLayer;
annot.rectAnchor=CPTRectAnchorTop;
[graph addAnnotation:annot];
}
但它显然不起作用。。。。有人能帮我吗
我的目标是在选定的打印符号上获得注释,类似于MKMapView中的注释
更新
这是一个日期图,只是为了澄清问题,它从2001年开始在x轴上以时间间隔工作。核心绘图示例应用程序中有几个这样的例子。plot Gallery应用程序(以及其他几个应用程序)中的渐变散点图使用此方法将文本标签附着到选定点。Mac版CPTTestap中的点选择演示使用第二个散点图在选定点上绘制十字光标 还记得在散点图上设置
plotSymbolMarginForHitDetection
属性。默认值为0,这意味着您必须准确地击中点的中心以记录触摸
核心图中有两种类型的注释。
CPTLayerAnnotation
锚定到给定的核心动画层(本例中的图形)。CPTPlotSpaceAnnotation
锚定到绘图空间坐标(=数据坐标)。您下面的评论听起来像是要使用打印空间注释而不是图层注释。我以前已经尝试过该代码,但它不起作用!但现在我知道了原因:我正在使用一个日期图,它从2001年开始使用timeInvervals来显示日期。也许间隔的数目太多给了注释一个完全错误的坐标,这就是为什么我看不到它?