There are many ways to do dynamic toning, but the easiest way is to start by drawing a black and white image with a preliminary hue, then draw a hue color from above using kCGBlendModeOverlay. The blend mode "overlay" works like Photoshop and is especially useful for toning.
Here we draw a custom tinted navigation bar:
- (void)drawRect:(CGRect)rect {
[[UIImage imageNamed:@"NavBar.png"] drawInRect:rect];
UIColor *tint = [UIColor colorWithRed:1 green:0.5 blue:0.5 alpha:1];
[tint set];
UIRectFillUsingBlendMode(rect, kCGBlendModeOverlay);
}
You can preview hue colors directly in Photoshop by simply creating a layer with your color as a solid fill in the Overlay blend mode.
Apple, UINavigationBar , -, , "UITintedTopBarHighlightFlat.png", .