UI有的时候给的图的颜色不对或者说只给了一套图,在其他地方用的图的底色不一样,ios 7.0之后,UIImage有一个新增方法:imageWithRenderingMode: 通过它可以设置图片的渲染模式,其中参数部分UIImageReenderingMode有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]];
uiview methods
- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;
- (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;