¿Cómo teñir una imagen PNG transparente en iPhone?

Sé que es posible teñir una imagen rectangular dibujando un CGContextFillRect sobre ella y configurando el modo de fusión. Sin embargo, no puedo entender cómo hacer un tinte en una imagen transparente, como un icono. Debe ser posible ya que el SDK lo hace por sí mismo en las barras de pestañas. ¿Alguien podría proporcionar un fragmento?

ACTUALIZAR:

Se han dado muchas sugerencias geniales para este problema desde que pregunté originalmente. Asegúrese de leer todas las respuestas para descubrir qué es lo que más le conviene.

ACTUALIZACIÓN (30 de abril de 2015):

Con iOS 7.0, ahora puedo hacer lo siguiente, lo que satisfaría las necesidades de mi pregunta original. Pero si tiene casos más complicados, consulte todas las respuestas.

UIImage *iconImage = [[UIImage imageNamed:@"myImageName"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];    
UIImageView *icon = [[UIImageView alloc] initWithImage:iconImage];
icon.tintColor = [UIColor redColor];

Respuestas a la pregunta(13)

Su respuesta a la pregunta