在IOS7之後增加創建UITabBarItem的方法的同時新增了圖像渲染模式枚舉 UIImageRenderingMode。
typedef NS_ENUM(NSInteger, UIImageRenderingMode) {
UIImageRenderingModeAutomatic, // Use the default rendering mode for the context where the image is used
UIImageRenderingModeAlwaysOriginal, // Always draw the original image, without treating it as a template
UIImageRenderingModeAlwaysTemplate, // Always draw the image as a template image, ignoring its color information
} API_AVAILABLE(ios(7.0));
在該模式的枚舉值中,一共存在三個值:
- UIImageRenderingModeAutomatic // 根據圖片的使用環境和所處的繪圖上下文自動調整渲染模式。
- UIImageRenderingModeAlwaysOriginal // 始終繪製圖片原始狀態,不使用Tint Color。
- UIImageRenderingModeAlwaysTemplate // 始終根據Tint Color繪製圖片,忽略圖片的顏色信息。
UIImageRenderingMode屬性的默認值是UIImageRenderingModeAutomatic,即UIImage是否使用Tint Color取決於它顯示的位置。其他情況可以看下面的圖例
使用示例:
UIImage *image = [UIImage imageNamed:@"icon01.png"];
image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];