通過使用控件Tint Color,例如UIImageView,UIButton等 設置UIImage的渲染模式,使你用一張圖片可以渲染成不同顏色,例如設置UIImage的渲染模式:UIImage.renderingMode重大改變,你可以設置一個UIImage在渲染時是否使用當前視圖的Tint Color。iOS7.0之后 UIImage有一個新增方法:imageWithRenderingMode: 通過它可以設置圖片的渲染模式.其中參數部分UIImageRenderingMode 有3個枚舉對應不同渲染模式。
- UIImageRenderingModeAutomatic // 根據圖片的使用環境和所處的繪圖上下文自動調整渲染模式。
- UIImageRenderingModeAlwaysOriginal // 始終繪制圖片原始狀態,不使用Tint Color。
- UIImageRenderingModeAlwaysTemplate // 始終根據Tint Color繪制圖片,忽略圖片的顏色信息。舉例如下:
UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 200, 150)];
UIImage *img = [UIImage imageNamed:@"12"];
imgView.image = [img imageWithRenderingMode:(UIImageRenderingModeAlwaysTemplate)];
[imgView setTintColor:[UIColor redColor]];
}