我正在尝试在核心图中创建带有渐变的条形图。我有以下代码:
UIImage *img = [UIImage imageNamed:@"orange_bar_graph"];
CPTImage *image = [CPTImage imageWithCGImage:img.CGImage];
image.tiled = NO;
CPTFill *areaFill = [CPTFill fillWithImage:image];
CPTBarPlot *plotOne = [[CPTBarPlot alloc] init];
plotOne.fill = areaFill;
plotOne.identifier = identifer[@"plotOne"];
但是,当我运行该应用程序时,它仅显示条形的轮廓,而未显示填充图像:
如果我将其放置在断点处,则表明图像创建成功,并且变量areaFill不为nil。
不久前,我做了一篇文章,介绍了类似的代码。在这里我使用imageForPNGFile,但是在这里尝试时它只是返回nil:Core Plot Gradient bars
但是我似乎无法在这里工作。
编辑:
我刚刚在iPad 2模拟器上运行了它,它按预期运行。但是,在iPad Air模拟器上运行时,它不起作用。
最佳答案
设置图像的scale
。
CPTImage *image = [CPTImage imageWithCGImage:img.CGImage scale:img.scale];
如果您使用最新的Core Plot代码(在1.5.1版之后),则可以直接加载图像:
CPTImage *image = [CPTImage imageNamed:@"orange_bar_graph"];