Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在CorePlot DatePlot(iOS)中使用CptAnotation_Objective C_Ios_Cocoa Touch_Annotations_Core Plot - Fatal编程技术网

Objective c 在CorePlot DatePlot(iOS)中使用CptAnotation

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

我正在应用程序中使用CorePlot,我想在plotSymbol上显示注释。我在最新0.9版本的CorePlot的示例项目中没有找到任何代码。经过一些研究,我得出了这一点:

- (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来显示日期。也许间隔的数目太多给了注释一个完全错误的坐标,这就是为什么我看不到它?