iOS UIImage渲染模式 imageWithRenderingMode:

设置UIImage的渲染模式:UIImage.renderingMode

着色(Tint Color)是iOS7界面中的一个设置UIImage的渲染模式,你可以设置一个UIImage在渲染时是否使用当前视图的Tint Color。UIImage新增了一个只读属性:renderingMode,对应的还有一个新增方法:imageWithRenderingMode:,它使用UIImageRenderingMode枚举值来设置图片的renderingMode属性。该枚举中包含下列值:

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

  3. UIImageRenderingModeAlwaysTemplate   // 始终根据Tint Color绘制图片,忽略图片的颜色信息。  



比如说我们设置这么一句话:

[objc]  view plain  copy
 
  1. childVc.tabBarItem.selectedImage = [[UIImage imageNamed:selectImage] imageWithRenderingMode:  
  2. UIImageRenderingModeAlwaysOriginal];  


设置与不设置的区别:

设置时:

iOS UIImage渲染模式 imageWithRenderingMode:_第1张图片


未设置时:

iOS UIImage渲染模式 imageWithRenderingMode:_第2张图片


我们发现图片的原始状态是橙色,设置渲染时始终绘制图片的原始状态就是上面的效果了。而下面蓝色的效果是apple原来就有的。

你可能感兴趣的:(iOS UIImage渲染模式 imageWithRenderingMode:)