iOS UIImage渲染模式UIImageRenderingMode

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章