iOS核心动画之组透明

layer的透明度alpha是影响到子layer的。也就是说如果父layer的透明度为0.5,那么子layer的透明度是原来自己的透明度的一半。
考虑下面这种情况。一个view上叠加一个label。view的背景色为白色,透明度为0.5。label的背景色为白色,alpha为0.5。
在view的边缘区域,最终的色值为alpha为0.5的白。在label区域,最终色值为alpha为0.5的白,加上alpha为0.5*0.5=0.25的白,总计为alpha为0.75的白色。效果就不太理想。


  • 如何解决
    理想情况下,我们希望先不考虑layer的alpha值,把子layer什么的合并成一个图片,然后对这张图片统一设置alpha值。
    有两种方法可以达到这个效果
    1. 设置Info.plist文件中的UIViewGroupOpacity为YES。在iOS7以后已经设置了,iOS6没有设置
    2. 设置组透明。
        self.exampleView?.layer.shouldRasterize = true
        self.exampleView?.layer.rasterizationScale = UIScreen.mainScreen().scale
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转载:http://www.jianshu.com/p/32fcadd12108 每个UIView有一个伙伴称为l...
    F麦子阅读 11,523评论 0 13
  • 每个UIView有一个伙伴称为layer,一个CALayer。UIView实际上并没有把自己画到屏幕上;它绘制本身...
    shenzhenboy阅读 8,354评论 0 17
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,733评论 6 30
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,111评论 25 709
  • 这几天一边忙着找房子,看房子,定房子,一边还要上班,真的是心力憔悴,在看了好几天之后,终于定下来了,一个主卧,条件...
    吧嗒吧嗒吧嗒嘎嘣阅读 2,967评论 0 0

友情链接更多精彩内容