Я решил задачу, используя следующий код:
CGContextSaveGState(bitmapContext);
CGContextSetRGBFillColor(bitmapContext, red, green, blue, alpha);
CGContextTranslateCTM(bitmapContext, 0.0, contextHeight);
CGContextScaleCTM(bitmapContext, 1.0, -1.0);
CGContextDrawImage(bitmapContext, sourceImageRect, sourceImage);
CGContextSetBlendMode(bitmapContext, kCGBlendModeColor);
CGContextFillRect(bitmapContext, sourceImageRect);
CGContextRestoreGState(bitmapContext);
CGImageRef coloredImage = CGBitmapContextCreateImage(bitmapContext);
В этом коде bitmapContext
это контекст, созданный с помощью CGBitmapContextCreate
.