3

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

在 drawRect 我必须混合这两个 layer,并且最上面应该有可变的 alpha取决于游戏逻辑。

执行此操作的最佳(性能优化程度最高)方法是什么?是否有任何 CGLayer 或 CGContext 函数在绘制之前设置一些 alpha?

4

1 回答 1

6

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

如果您已经在做-drawInContext:,那么您可以尝试使用CGContextSetAlpha(). 不过,一般来说,您不会同时使用-drawRect:和图层。您通常让视图或图层进行绘图。

于 2010-01-06T22:27:54.337 回答