imageWithRender(图片的渲染模式)

UIImage的一个只读属性:renderingMode,对应的还有一个方法:imageWithRenderingMode,它使用UIImageRenderingMode枚举值来设置图片的renderingMode属性。该枚举中包含下列值:

  1. UIImageRenderingModeAutomatic  // 根据图片的使用环境和所处的绘图上下文自动调整渲染模式。  
  2. UIImageRenderingModeAlwaysOriginal   // 始终绘制图片原始状态,不使用Tint Color。(这个枚举值是声明这张图片要按照原来的样子显示,不需要渲染成其他颜色  )因为苹果系统本身带有默认的渲染颜色

  3. UIImageRenderingModeAlwaysTemplate   // 始终根据Tint Color绘制图片,忽略图片的颜色信息。  
UIButton *loginBtn = [UIButton buttonWithType:UIButtonTypeCustom];
loginBtn.showsTouchWhenHighlighted = YES;
UIImage *loginImg = [UIImage imageNamed:@"login"];
loginImg = [loginImg imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
 [loginBtn setImage:loginImg forState:UIControlStateNormal];
CGSize size = loginBtn.currentImage.size;//取到button的image的尺寸
loginBtn.frame = CGRectMake(100, 100, size.width, size.height);
[self.view addSubview:loginBtn];
爱code的妖妖
原文地址:https://www.cnblogs.com/yaoyao0110/p/5545881.html