我正在尝试在核心图中创建带有渐变的条形图。我有以下代码:

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"];

09-20 00:23