Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有 UIView 子类 - 实际上是一个拼图 - 在 initWithFrame 初始化了 2 个不同的 CGLayer。
在 drawRect 我必须混合这两个 layer,并且最上面应该有可变的 alpha取决于游戏逻辑。
执行此操作的最佳(性能优化程度最高)方法是什么?是否有任何 CGLayer 或 CGContext 函数在绘制之前设置一些 alpha?
设置-opacity图层的。请记住,图层的-opaque设置必须为 NO。默认值为 NO,但出于性能原因,它通常设置为 YES。
-opacity
-opaque
如果您已经在做-drawInContext:,那么您可以尝试使用CGContextSetAlpha(). 不过,一般来说,您不会同时使用-drawRect:和图层。您通常让视图或图层进行绘图。
-drawInContext:
CGContextSetAlpha()
-drawRect: