首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CPTAnnotation在CorePlot DatePlot (iOS)中的应用

CPTAnnotation在CorePlot DatePlot (iOS)中的应用
EN

Stack Overflow用户
提问于 2011-10-05 16:46:33
回答 1查看 3.7K关注 0票数 3

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

代码语言:javascript
复制
- (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中的注释。

更新

这是一个DatePlot,只是为了澄清事情,它从2001年起就在x轴上工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-06 00:47:48

在核心绘图示例应用程序中有几个这样的例子。图库应用程序(以及其他几个应用程序)中的梯度散点图使用此方法将文本标签附加到选定的点。CPTTestApp的Mac版本中的点选择演示使用第二个散点图在所选的点上画一个十字线。

记住也要在散点图上设置plotSymbolMarginForHitDetection属性。默认值为0,这意味着您必须精确地命中点的中心,才能注册触摸。

核心情节中有两种类型的注释。CPTLayerAnnotation锚定在给定的核心动画层(在您的例子中是图)。CPTPlotSpaceAnnotation锚定在绘图空间坐标(==数据坐标)上。下面的评论让你听起来像是想要使用一个情节空间注释,而不是一个图层注释。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7664782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档