我想在我的图表中添加一个注释,由文本和图像组成:
我已经可以显示文字(图片中的“13”),但我无法在文字下面添加图片。 我已尝试使用CPTLayer,CPTBorderedLayer,......,但不是按预期工作。
以下是我用来显示文字的代码:
NSNumber *valueToDisplay = [NSNumber numberWithInt:13];
NSString *valueToDisplayString = [formatter stringFromNumber:valueToDisplay];
CPTTextLayer *textLayer = [[CPTTextLayer alloc] initWithText:valueToDisplayString style:style];
self.priceAnnotation.contentLayer = textLayer;
self.priceAnnotation.anchorPlotPoint = [NSArray arrayWithObjects:[NSNumber numberWithFloat:7.0], [NSNumber numberWithFloat:14.0], nil];
[self.graph.plotAreaFrame.plotArea addAnnotation:self.priceAnnotation];
如何在图片下方添加图片?
这是我尝试过的代码之一:
CPTBorderedLayer *immagine = [[CPTBorderedLayer alloc] initWithFrame:CGRectMake(0, 0, 77, 36)];
CPTFill *fillImage = [CPTFill fillWithImage:[CPTImage imageWithCGImage:[[UIImage imageNamed:@"sfondoStima.png"] CGImage]]];
immagine.fill = fillImage;
self.imageAnnotation.contentLayer = immagine;
self.imageAnnotation.anchorPlotPoint = [NSArray arrayWithObjects:[NSNumber numberWithFloat:7.0], [NSNumber numberWithFloat:5.0], nil];
[self.graph.plotAreaFrame.plotArea addAnnotation:self.imageAnnotation];
但这就是结果:位图(77x36)由于某种原因比应该的大得多:
请给我一些帮助......我已经尝试了不同的教程/示例我发现但是它们似乎都没有用。
谢谢, 的Corrado
答案 0 :(得分:1)
CPTTextLayer
是CPTBorderedLayer
的子类。对于像这样的简单背景,我根本不会想象图像。我尝试这样的事情(未经测试):
CPTMutableLineStyle lineStyle = [CPTMutableLineStyle lineStyle];
lineStyle.lineWidth = 2.0;
lineStyle.lineColor = [CPTColor whiteColor];
CPTTextLayer *textLayer = [[CPTTextLayer alloc] initWithText:valueToDisplayString style:style];
textLayer.fill = [CPTFill fillWithColor:[CPTColor blueColor]];
textLayer.cornerRadius = 10.0;
textLayer.borderLineStyle = lineStyle;
在textLayer
上设置填充以控制边框线和文本之间的空间。
如果您有更复杂的需求需要图像,请务必正确设置图像比例。 [CPTImage imageNamed:]
为您做到这一点。