我正在使用代码here的修改版本来显示图表中绘图点上的标注弹出窗口。我得到它主要是工作,但问题是,当我滚动或缩放图形时,标注保持在屏幕上的相同位置,而不是跟随点移动。
如果您想要使用一些代码示例,请点击此处。关于如何使用标绘点进行标注旅行的任何想法?谢谢!
-(void)scatterPlot:(CPTScatterPlot *)plot plotSymbolWasSelectedAtRecordIndex:(NSUInteger)idx {
if ([plot.identifier isEqual:_plotIdentifier]) {
NSArray *selectedSymbolItem = [self.data.xyArrays objectAtIndex:idx];
NSNumber *x = [selectedSymbolItem objectAtIndex:0];
NSNumber *y = [selectedSymbolItem objectAtIndex:1];
double doublePrecisionPlotPoint[2];
doublePrecisionPlotPoint[0] = x.doubleValue;
doublePrecisionPlotPoint[1] = y.doubleValue;
CGPoint pointTouched = [plot.graph.defaultPlotSpace plotAreaViewPointForDoublePrecisionPlotPoint:doublePrecisionPlotPoint];
CGPoint convertedPoint = [plot.graph convertPoint:pointTouched toLayer:self.view.layer];
_popupView = [[SMCalloutView alloc] init];
_popupView.title = [NSString stringWithFormat:@"Thing %i", idx];
[_popupView presentCalloutFromRect:CGRectMake(convertedPoint.x, convertedPoint.y, 10, 10) inLayer:self.view.layer constrainedToLayer:self.hostView.layer permittedArrowDirections:SMCalloutArrowDirectionDown animated:YES];
}
}
答案 0 :(得分:1)
使用绘图空间委托来监控绘图空间的更改并根据需要更新标注位置。