在单个视图heirachy UIView的组的不透明度(UIView group opacity i

2019-06-24 08:32发布

我写这封信中,我想能够有仿佛UIViewGroupOpacity的info.plist KET被设置UIViews的阿尔法一个UI库。 请参阅以下链接:

请的UIView和子视图半透明的一层,不单独

iOS的控制了子视图的UIView阿尔法行为

但是,当我写一个lib,我不想要的项目,必须设置这个全局密钥,并实现主体工程的行为。

是否有实现这一目标的任何其他方式? 我不通过所有的子视图要循环,并设置每个子视图的α,为包括我的lib中可能已启用此关键项目...

Answer 1:

是的,有,你可以设置shouldRasterize视图的层。

containerView.layer.shouldRasterize = YES;
// Not setting rasterizationScale, will cause blurry images on retina displays:
containerView.layer.rasterizationScale = [[UIScreen mainScreen] scale];

这将有同样的效果UIViewGroupOpacity但仅限于containerView和它的子视图。



Answer 2:

对于iOS 7.0及更高版本:

由于iOS的7.0,这可以控制每个CALayer通过单独allowsGroupOpacity属性。 如果设置为YES ,你会得到相同的行为,如果UIViewGroupOpacity设置,但只对特定的层。



文章来源: UIView group opacity in single view heirachy
标签: ios uiview