19.UIImage之渲染模式(renderingMode)
2016-02-22 11:59
411 查看
着色(Tint Color)是iOS7界面中的一个重大改变,你可以设置一个UIImage在渲染时是否使用当前视图的Tint Color。iOS7中UIImage新增了一个只读属性:renderingMode,对应的还有一个新增方法:imageWithRenderingMode:。
它使用UIImageRenderingMode枚举值来设置图片的renderingMode属性。该枚举中包含下列值:
UIImageRenderingModeAutomatic // 根据图片的使用环境和所处的绘图上下文自动调整渲染模式。
UIImageRenderingModeAlwaysOriginal // 始终绘制图片原始状态,不使用Tint Color。
UIImageRenderingModeAlwaysTemplate // 始终根据Tint Color绘制图片,忽略图片的颜色信息。
renderingMode属性的默认值是UIImageRenderingModeAutomatic,即UIImage是否使用Tint Color取决于它显示的位置。
// Create a version of this image with the specified rendering mode. By default, images have a rendering mode of UIImageRenderingModeAutomatic. - (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode NS_AVAILABLE_IOS(7_0); @property(nonatomic, readonly) UIImageRenderingMode renderingMode NS_AVAILABLE_IOS(7_0); `
它使用UIImageRenderingMode枚举值来设置图片的renderingMode属性。该枚举中包含下列值:
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 // 始终绘制图片原始状态,不使用Tint Color。
UIImageRenderingModeAlwaysTemplate // 始终根据Tint Color绘制图片,忽略图片的颜色信息。
renderingMode属性的默认值是UIImageRenderingModeAutomatic,即UIImage是否使用Tint Color取决于它显示的位置。
什么情况下使用?
某些时候,在为某些控件添加图片的时候,会不显示图片,只显示 控件的 tint color, 故需要将其着色改为原始状态, 才可以显示出来图片。UIImage *pic = [UIImage imageNamed:@"qq.png"] ; pic = [pic imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
相关文章推荐
- Spark官方文档《Spark Programming Guide》解读
- 本地推送UILocalNotification
- UITableViewCell高度自适应
- Java基础之continue, break, return
- 18.UIImage选择正确的加载方式
- 方法的可变长参数 传入参数个数不确定可用(Type ... values)
- htmlparser解决PKIX path building failed问题的两种方法
- UItableView的使用(1)
- KVM查看虚拟机的分区内容(4)
- Arduino: L293D for a DC motor
- java基础-StringBuild、StringBuffer及List、Map、Set
- [综合]visio2013安装提示找不到Office.zh_cn\officeMUI.mis officemui.xml
- KVM克隆虚拟机和libguestfs-tools管理工具(3)
- iOS开发中 UITabBarController--标签控制器的使用
- UILabel,文字添加下划线,中划线
- UIResponder
- leetcode 334. Increasing Triplet Subsequence
- request接收表单提交中文参数乱码问题
- mui几种页面跳转方式对比
- UIView与CALayer的区别,很详细