美文网首页ios-UI
UIImage渲染模式 imageWithRenderingMo

UIImage渲染模式 imageWithRenderingMo

作者: YHWXQ简简单单的生活 | 来源:发表于2016-10-06 21:47 被阅读1425次

    UIImage渲染模式

    设置UIImage的渲染模式:UIImage.renderingMode
    着色(Tint Color)是iOS7界面中的一个设置UIImage的渲染模式,你可以设置一个UIImage在渲染时是否使用当前视图的Tint Color。
    

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

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

    OC版本代码

    childVc.tabBarItem.selectedImage = [[UIImage imageNamed:selectImage] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    

    设置与不设置的效果图:
    设置时:

    未设置时:


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

    Swift版本代码

      var homeImageView: UIImageView!
      var homeSwitchImageView: UIImageView!
      self.homeImageView.image = UIImage(named: "home")!.imageWithRenderingMode(.AlwaysTemplate)
      self.homeImageView.tintColor = UIColor.whiteColor()
    
      self.homeSwitchImageView.image = UIImage(named: "switch")!.imageWithRenderingMode(.AlwaysOriginal)
      self.homeSwitchImageView.tintColor = UIColor.whiteColor()
    

    imageWithRenderingMode设置不同的样式的效果图

    Paste_Image.png

    相关文章

      网友评论

        本文标题:UIImage渲染模式 imageWithRenderingMo

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