以前有人问过这个问题,但我还没有找到令人满意的答案。是不是真的没有办法给一个UIView设置一个blendmode(也就是用GPU合成来实现blend)。
使用 CGContextSetBlendMode 有一些建议,如下所示:Draw an image in Additive Blend Mode without using OpenGL但是到目前为止我偶然发现的所有这些解决方案似乎都使用了绘图例程,据我所知(并且据我的性能测量提示)这将在 CPU 上进行混合(然后才将其上传到 OpenGL 纹理进行显示)。
但是 afaik UIKit 使用 OpenGL 来呈现底层的 CALayers,所以使用单独的混合模式应该是世界上最简单的事情。
由于 IOS 5 似乎还有一些粒子系统http://www.raywenderlich.com/6063/uikit-particle-systems-in-ios-5-tutorial也支持加法混合(我怀疑这种混合是否已实现在 CPU 上) - 那么现在是否有一种方法可以在显示 UIViews 时使用添加(或其他类型)混合?