UIImageを簡単にColor Overlayする方法

公開: 2014-05-18 02:27
更新: 2016-04-29 06:02
どうもあっきぃさんです。
最近は財布の中を見ても空気すら入っていないので公園に行ってハトと豆を奪い合っています。

そんなハト豆好きな方は
UIImageの色をひょいひょいと変更したいはずです。
iOS7から便利な関数が用意されたので今日はそれを使ってみましょう。

まぁこんなコードがありまして
UIImage *appleImage = [UIImage imageNamed:@"apple"];
UIImageView *appleImageView = [[UIImageView alloc] initWithImage:appleImage];
[self.view addSubview:appleImageView];
こんなリンゴがありますと。
UIImage Color Overlay
でもやっぱりリンゴは赤くないと。

そこでiOS7から追加された
UIImageのimageWithRenderingModeを
UIImageRenderingModeAlwaysTemplateにしてあげる。
appleImage = [appleImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
あとはUIImageViewのTintColorを変更するだけ。
UIImage *appleImage = [UIImage imageNamed:@"apple"];
appleImage = [appleImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
UIImageView *appleImageView = [[UIImageView alloc] initWithImage:appleImage];
[self.view addSubview:appleImageView];
appleImageView.tintColor = [UIColor redColor];
UIImage Color Overlay
赤くなりました♪

いちいち色違いの画像を作成していた方はなんと愚の骨頂だったと痛感することでしょう。
シンプルですがそれほどのインパクトある便利関数です。

となりのおじいちゃんにも教えてあげよう!

ではでは!


この記事をシェア
この記事にコメントする
書き込む
あっきぃ(@appstars_aki)
Web、iOSなフリーランサーです。好きなものはお寿司です。でもお寿司は高いので普段は雑草とか拾ったドングリを食べています。お仕事や意味もなく毎月お小遣いをくれる人を探してます。

お仕事の依頼や自分で作ったアプリのレビューを希望しちゃう方はaki@appstars.jpまでご連絡ください。