美文网首页
第6章 组透明

第6章 组透明

作者: cdd48b9d36e0 | 来源:发表于2018-09-08 22:28 被阅读9次

    UIView有一个叫做alpha的属性来确定视图的透明度。CALayer有一个等同的属性叫做opacity,这两个属性都是影响子层级的。也就是说,如果你给一个图层设置了opacity属性,那它的子图层都会受此影响。

    实现组透明的两种方法:

    1. 在info.plist文件中,设置UIViewGroupOpacity(key为Renders with group opacity)为YES(iOS7及以上的版本默认为YES);
    2. 设置CALayer的一个叫做shouldRasterize属性为YES。在应用透明度之前,图层及其子图层都会被整合成一个整体的图片,这样就没有透明度混合的问题了。默认情况下,所有图层拉伸都是1.0, 所以如果使用了shouldRasterize属性,就要确保设置rasterizationScale属性去匹配屏幕,以防止出现Retina屏幕像素化的问题。
    button2.alpha = 0.5;
    //有时候为了保持父视图和其子视图alpha一致还需要设置下面两个属性
    button2.layer.shouldRasterize = YES;
    button2.layer.rasterizationScale = [UIScreen mainScreen].scale;
    

    相关文章

      网友评论

          本文标题:第6章 组透明

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