UIImageRenderingModeAlwaysTemplate:是UIImage渲染模式 UIImageRenderingMode 枚举类型中的其中一个,除去这个外还有另外两个:
UIImageRenderingMode {
UIImageRenderingModeAutomatic
UIImageRenderingModeAlwaysOriginal
UIImageRenderingModeAlwaysTemplate
}
例子1:
美工切出来一个返回按钮 颜色是黄色 但有一个页面需要这个返回按钮是红色 那就没必要美工再切一张红色的按钮,而是利用UIImageRenderingModeAlwaysTemplate这个属性把黄色按钮改成红色
UIImage*image = [UIImageimageNamed:@"111.jpg"]
image = [image imageWithRenderingMode: UIImageRenderingModeAlwaysTemplate]
UIImageView*imageView = [[UIImageViewalloc]initWithFrame:CGRectMake(100, 100, 100, 100)]
imageView.image = image
imageView.tintColor = [UIColorpurpleColor]
[self.view addSubview:imageView]
例子2:
UIButton的点击状态 因为UIButton设置背景色 点击UIButton是没有点击色的 但是UIButton的背景图片有点击色 那就可以利用UIImageRenderingModeAlwaysTemplate这个属性改变任意一张图片的颜色为我们需要的那个颜色
例 代码
UIImage*image = [UIImageimageNamed:@"111.jpg"]
image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]
UIButton*btn = [[UIButtonalloc]initWithFrame:CGRectMake(0, 0, 100, 100)]
btn.tintColor = [UIColorbrownColor]
[btn setBackgroundImage:image forState:UIControlStateNormal]
[self.view addSubview:btn]

