美文网首页
UIImage UIImageRenderingModeAlwa

UIImage UIImageRenderingModeAlwa

作者: JackSuIce | 来源:发表于2017-11-09 10:11 被阅读46次

    UIImageRenderingMode 有三种渲染模式:

    UIImageRenderingModeAutomatic        // 根据图片的使用环境和所处的绘图上下文自动调整渲染模式(默认属性)。

    UIImageRenderingModeAlwaysOriginal   // 始终绘制图片原始状态,设置Tint Color属性无效。

    UIImageRenderingModeAlwaysTemplate   // 始终根据Tint Color绘制图片(颜色)显示,忽略图片的颜色信息(也就是图片原本的东西是不显示的)。

    调用此属性

    UIImage *normalImage = [[UIImage imageNamed:@"111@2x"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];

    有何用处:个人经常用到的有两种

    A

    美工切出来一个返回按钮  颜色是黄色 但有一个页面需要这个返回按钮是红色  那就没必要美工再切一张红色的按钮,而是利用UIImageRenderingModeAlwaysTemplate这个属性把黄色按钮改成红色

    例  代码

    UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

    imageView.image = [[UIImage imageNamed:@"111@2x"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];

    imageView.tintColor = [UIColor purpleColor];

    [self.view addSubview:imageView];

    B

    UIButton 的点击状态  因为UIButton设置背景色  点击UIButton  是没有点击色的  但是UIButton的背景图片有点击色 那就可以利用UIImageRenderingModeAlwaysTemplate这个属性改变任意一张图片的颜色为我们需要的那个颜色

    例  代码

    UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 100, 100)];

    btn.tintColor = [UIColor brownColor];

    [btn setBackgroundImage:[[UIImage imageNamed:@"111@2x"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal];

    [self.view addSubview:btn];

    相关文章

      网友评论

          本文标题:UIImage UIImageRenderingModeAlwa

          本文链接:https://www.haomeiwen.com/subject/czcpmxtx.html