ダイナミックティンティングを行う方法はたくさんありますが、最も簡単な方法は、あらかじめレンダリングされたグレースケール画像を描画してから、最初にkCGBlendModeOverlay
を使ってティントカラーを描画することです。 「オーバーレイ」ブレンドモードはPhotoshopのように動作し、特に色付けに便利です。ここで
たちは、カスタム彩色のナビゲーションバーを描く方法は次のとおりです。
- (void)drawRect:(CGRect)rect {
[[UIImage imageNamed:@"NavBar.png"] drawInRect:rect]; // grayscale untinted version
UIColor *tint = [UIColor colorWithRed:1 green:0.5 blue:0.5 alpha:1]; // arbitrary
[tint set];
UIRectFillUsingBlendMode(rect, kCGBlendModeOverlay);
}
あなただけのオーバーレイブレンドモードで塗りつぶしとしてあなたの色でレイヤーを作成することによって、Photoshopで直接色合いの色をプレビューすることができます。 UINavigationBar
や友人の着色のための
Appleの特定の技術は、システムのアートワークファイルで見つかった「UITintedTopBarHighlightFlat.png」のような名前のプリレンダリング勾配画像のプラスオーバーレイを埋める色合いの色の組み合わせのようです。