設置UIImage的渲染模式:UIImage.renderingMode
著色(Tint Color)是iOS7界面中的一個.設置UIImage的渲染模式:UIImage.renderingMode重大改變,你可以設置一個UIImage在渲染時是否使用當前視圖的Tint Color。UIImage新增了一個只讀屬性:renderingMode,對應的還有一個新增方法:imageWithRenderingMode:,它使用UIImageRenderingMode枚舉值來設置圖片的renderingMode屬性。該枚舉中包含下列值:
UIImage *image = [UIImage imageNamed:@"hf"];
image = [image imageWithRenderingMode:(UIImageRenderingModeAlwaysOriginal)];
UIImageRenderingModeAutomatic? // 根據圖片的使用環境和所處的繪圖上下文自動調整渲染模式。UIImageRenderingModeAlwaysOriginal???//?始終繪制圖片原始狀態,不使用Tint?Color。UIImageRenderingModeAlwaysTemplate???//?始終根據Tint?Color繪制圖片,忽略圖片的顏色信息。
renderingMode屬性的默認值是UIImageRenderingModeAutomatic,即UIImage是否使用Tint Color取決于它顯示的位置。
現在不設置UIImage的渲染模式
代碼:
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"hf"] style:(UIBarButtonItemStylePlain) target:nil action:nil];
運行效果截圖:
圖片的顏色是感覺原本是綠色的,他是根據圖片所處的環境而改變圖片的渲染顏色
現在保持圖片的原來狀態
代碼:
UIImage *image = [UIImage imageNamed:@"hf"];;
image = [image imageWithRenderingMode:(UIImageRenderingModeAlwaysOriginal)];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithImage:image style:(UIBarButtonItemStylePlain) target:nil action:nil];
運行效果截圖:
圖片的顏色保持原本的顏色
其他的渲染模式可以自己嘗試.