我正在尝试使用CGContextSetFillColorWithColor
我从 Parse 数据库中获取的颜色变量为图像着色。
以这种方式更改图像的颜色效果很好:
[...]
UIImage *image = [UIImage imageNamed:@"menuButton.png"];
CGRect rect = CGRectMake(0, 0, image.size.width, image.size.height);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextClipToMask(context, rect, image.CGImage);
CGContextSetFillColorWithColor(context, [[UIColor whiteColor] CGColor]);
[...]
这将 menuButton.png 更改为白色没问题。
但是,当我尝试将其更改为从 Parse(使用十六进制颜色实用程序)获得的十六进制颜色时:
self.bgColor = [post objectForKey:@"bgColor"]; //bgColor = "#ffffff"
[...]
CGContextSetFillColorWithColor(context,
[[UIColor colorWithHexString:self.bgColor] CGColor]);
图像不再出现。这是指针问题吗?谢谢你的帮助。