How to render a CALayer with a different blending mode, like screen or multiply?

see here: composite colors: CALayer and blend mode on iPhone


Set the compositingFilter of a view's layer to a supported blend mode string. From the docs, a layer's compositingFilter is

A CoreImage filter used to composite the layer and the content behind it.

To obtain a list of Core Image filters, print out the filter names defined by a kCICategoryCompositeOperation

[CIFilter filterNamesInCategory:kCICategoryCompositeOperation]

or directly as

[CIFilter filterNamesInCategory:@"CICategoryCompositeOperation"]

The array will include Core Image filters in the form

{
   CIColorBlendMode,
   CIColorBurnBlendMode,
   CIColorDodgeBlendMode,
   CIMultiplyBlendMode,
   ...
}

To use the CIMultiplyBlendMode, set "multiplyBlendMode" as the compositingFilter on the layer

self.layer.compositingFilter = @"multiplyBlendMode";