Как тонировать прозрачное изображение PNG в iPhone?

Я знаю, что можно тонировать прямоугольное изображение, рисуя поверх него CGContextFillRect и устанавливая режим наложения. Однако я не могу понять, как сделать оттенок на прозрачном изображении, таком как значок. Это должно быть возможно, так как SDK сам делает это на вкладках. Кто-нибудь сможет предоставить фрагмент?

ОБНОВИТЬ:

Много замечательных предложений было дано для этой проблемы, так как я первоначально спросил. Обязательно прочитайте все ответы, чтобы выяснить, что подходит вам лучше всего.

ОБНОВЛЕНИЕ (30 апреля 2015 г.):

С iOS 7.0 я теперь могу просто сделать следующее, что удовлетворит потребности моего первоначального вопроса. Но если у вас есть более сложные случаи, проверьте все ответы.

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

Ответы на вопрос(13)

Ваш ответ на вопрос