WEBサイト制作・アプリ開発・システム開発・ブランディングデザイン制作に関するご相談はお気軽にご連絡ください。
構想段階からじっくりとヒアリングし、お客様の課題にあわせたアプローチ手法でお客様の“欲しかった”をカタチにしてご提案いたします。
Blog スタッフブログ
iOS
Swift
システム開発
[iOS]tintColorを利用してUIImageの色を変更する
こんにちは、株式会社MIXシステム開発担当のBloomです。
早速本題のtintColorを利用してUIImageの色を変更する方法について、
お仕事の中で得た知見を共有させていただきたいと思います。
tintColorとは
tintColorとはUIViewクラスのプロパティであり、UI部品のデフォルト色として機能します。
通常は例えばUISliderのバーの色やUISwitchがオフの場合の輪郭色などに利用しますが、今回はtintColorに設定した色で、UIImageViewやUIButtonへ設定した画像を塗りつぶしてみましょう。
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
imageView.image = UIImage(named: "image.png")?.withRenderingMode(.alwaysTemplate)
imageView.tintColor = .red
}
}
実行結果
UIImageのレンダリングモードを.alwaysTemplateに指定することで設定先UIViewサブクラスのtintColorが参照されるようになります。注意点として、tintColorはUIColorの中でもパターン色には対応していないので気をつけましょう。
これだけで簡単にUIImageの色を変更することができました。良かったですね。