0

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

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 不为零。

不久前我发了一个帖子,在那里我有类似的代码在工作。在这里我使用 imageForPNGFile 但在这里尝试时只是返回 nil:Core Plot Gradient bar

但是我似乎无法让它在这里工作。

编辑:

我刚刚在 iPad 2 模拟器上运行了它,它按预期工作。但是,在 iPad Air 模拟器上运行时,它不起作用。

4

1 回答 1

1

设置scale图像的。

CPTImage *image = [CPTImage imageWithCGImage:img.CGImage scale:img.scale];

如果您使用的是最新的 Core Plot 代码(1.5.1 版之后),您可以直接加载图像:

CPTImage *image = [CPTImage imageNamed:@"orange_bar_graph"];
于 2014-11-21T00:56:27.213 回答