单视图heirachy中的UIView组不透明度

Nic*_*247 7 uiview ios

我正在编写一个UI库,我希望能够拥有UIViews的alpha,就像设置了UIViewGroupOpacity info.plist一样.请参阅以下链接:

使UIView和子视图半透明为一层,而不是单独的

iOS控制子视图的UIView alpha行为

但是,当我编写lib时,我不希望项目必须设置此全局键,并影响主项目的行为.

有没有其他方法来实现这一目标?我不想循环遍历所有子视图并设置每个子视图的alpha,因为包含我的lib的项目可能启用了此键...

Tor*_*ten 16

是的,您可以设置shouldRasterize视图的图层.

containerView.layer.shouldRasterize = YES;
// Not setting rasterizationScale, will cause blurry images on retina displays:
containerView.layer.rasterizationScale = [[UIScreen mainScreen] scale];
Run Code Online (Sandbox Code Playgroud)

这将具有相同的效果,UIViewGroupOpacity但仅适用于containerView和它的子视图.