我知道可以通过在矩形图像上绘制 CGContextFillRect 并设置混合模式来着色。但是,我不知道如何在透明图像(如图标)上进行着色。这必须是可能的,因为 SDK 在这样的选项卡酒吧自己做。有人能提供一个片段吗?
更新:
自从我最初提出这个问题以来,已经有很多很好的建议。一定要通读所有的答案,找出最适合你的答案。
更新(二零一五年四月三十日) :
有了 iOS 7.0,我现在只需要做以下事情,就可以满足我最初问题的需要了。但是如果你有更复杂的情况,检查所有的答案。
UIImage *iconImage = [[UIImage imageNamed:@"myImageName"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
UIImageView *icon = [[UIImageView alloc] initWithImage:iconImage];
icon.tintColor = [UIColor redColor];