在绘制之前设置CGLayer的"不透明度"?

Ger*_*eri 3 iphone xcode alpha blend cglayer

我有UIView子类 - 实际上是一个拼图 - 在initWithFrame初始化了2个不同的CGLayer.

在drawRect中,我必须混合这两层,并且最上层应该具有变量alpha,具体取决于游戏逻辑.

这样做的最佳(性能最佳)方法是什么?是否有任何CGLayer或CGContext函数在绘制之前设置一些alpha?

Rob*_*ier 6

设置-opacity图层.请记住,图层的-opaque设置必须为NO.默认值为NO,但出于性能原因,它通常设置为YES.

如果您已经在做-drawInContext:,那么您可以尝试一下CGContextSetAlpha().但是,通常,您不会同时使用-drawRect:和图层.您通常让视图或图层执行绘图.