UIImageRenderingMode使用介绍

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 } NS_ENUM_AVAILABLE_IOS(7_0);

在该模式的枚举值中,一共存在三个值,
UIImageRenderingModeAutomatic、 UIImageRenderingModeAlwaysOriginal与UIImageRenderingModeAlwaysTemplate。

1.UIImageRenderingModeAutomatic // 根据图片的使用环境和所处的绘图上下文自动调整渲染模式。
2.UIImageRenderingModeAlwaysOriginal // 始终绘制图片原始状态,不使用Tint Color。
3.UIImageRenderingModeAlwaysTemplate // 始终根据Tint Color绘制图片,忽略图片的颜色信息。

UIImageRenderingMode属性的默认值是UIImageRenderingModeAutomatic

创建UITabBarIte

在创建UITabBarItem的时候一般会为创建的UITabBarItem赋值三个东西。 标题(title),图片(image),选中时显示的图片(selectedImage)。

tabBarItem.title = @"Two";  
tabBarItem.image = [UIImage imageNamed:@"one.png"];  
tabBarItem.selectedImage = [UIImage imageNamed:@"two.png"];

现在的IOS7中新增了方法,

 - (instancetype)initWithTitle:(nullableNSString *)title image:(nullableUIImage *)image selectedImage:(nullableUIImage *)selectedImage
 NS_AVAILABLE_IOS(7_0);

使新建tabBarItem更加方便。现在可以将上面三行代码改为:

 tabBarItem= [[UITabBarItem alloc]initWithTitle:@"Two"        
        image:[UIImage imageNamed:@"one.png"]
selectedImage:[UIImageimageNamed:@"two.png"]];

最后

修改上面的代码,将两者结合到一起
UIImageRenderingMode使用:

  UIImage *img = [UIImage imageNamed:@"test.png"];
  img=[img imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

综合:

 tabBarItem= [[UITabBarItemalloc]initWithTitle:@"Five"
                     image:[[UIImageimageNamed:@"five.png"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ]  
                                 selectedImage:[[UIImageimageNamed:@"five.png"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ]];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值