Superposition de UIImageViews con el modo Multiply blend?

Tengo 2 UIImageViews que se muestran uno encima del otro. Uno de ellos puede arrastrarse utilizando un Gesture Recognizer.

¿Hay alguna manera de que ImageViews se pueda representar usando un modo de mezcla como Multiply? ¿Tal que cuando se mueven encima de cada uno, se representan con ese modo de fusión?

Debe anular la function drawRect: function en la vista principal, para lograr algo como esto:

- (void)drawRect:(CGRect)rect { CGContextRef ctx = UIGraphicsGetCurrentContext(); [image1.image drawInRect:image1.frame blendMode:kCGBlendModeMultiply alpha:1]; [image2.image drawInRect:image2.frame blendMode:kCGBlendModeMultiply alpha:1]; [super drawRect:rect]; } 

Lo que hace es agarrar el GraphicsContext actual, y dibuja las dos imágenes en él, utilizando un modo de mezcla múltiple.

Para poder ver esto, necesitará configurar el alfa de las dos imágenes en 0, o el contenido recién dibujado será oscurecido. Dado que la vista primaria los está volviendo a dibujar, verá las versiones multiplicadas resultantes.

Además, cada vez que las posiciones de las imágenes se actualicen, deberá llamar a setNeedsDisplay en la vista primaria, para obligarlo a llamar a drawRect una vez más.

Estoy seguro de que probablemente haya forms más eficientes de utilizar Quartz 2D para lograr lo que quieres, pero este es probablemente el más simple.