【发布时间】:2011-01-13 13:57:06
【问题描述】:
我可以看到,在mac版本的例子中,他们使用了binding和NSArrayController(这两个在iOs中都没有?)
我有什么
(void)scatterPlot:(CPScatterPlot *)plot plotSymbolWasSelectedAtRecordIndex:(NSUInteger)index
是索引和上下文中的情节。
我需要获取准确的坐标,以便在该点使用弹出框。
提前致谢
【问题讨论】:
我可以看到,在mac版本的例子中,他们使用了binding和NSArrayController(这两个在iOs中都没有?)
我有什么
(void)scatterPlot:(CPScatterPlot *)plot plotSymbolWasSelectedAtRecordIndex:(NSUInteger)index
是索引和上下文中的情节。
我需要获取准确的坐标,以便在该点使用弹出框。
提前致谢
【问题讨论】:
当您向散点图提供数据时,您使用了
-(NSNumber *)numberForPlot:(CPPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index
委托方法(或类似的方法)。它查询的部分信息是recordIndex,它通常用作数据点的NSArray的索引。
您在此处显示的委托方法会返回一个索引,以指示与散点图上的某个点进行了交互。您应该能够在数据源数组中获取与该索引对应的 X、Y 坐标并使用
double doublePrecisionPlotPoint[2];
doublePrecisionPlotPoint[CPCoordinateX] = [xValue doubleValue];
doublePrecisionPlotPoint[CPCoordinateY] = [yValue doubleValue];
CGPoint viewPoint = [graph.defaultPlotSpace plotAreaViewPointForDoublePrecisionPlotPoint:doublePrecisionPlotPoint];
获取图表中与被触摸的数据点位置相对应的视图坐标。从那里,您可以进行坐标空间转换以获得放置注释的适当位置。
【讨论】: