🪬

UIImageの色を変更する方法

に公開

ボタンなどの画像の色を変更したい時は、コードや storyboard 上で変更できます。

ボタンなどの画像の色を変更したい時はコードや storyboard 上で変更できます。

storyboard上で変更する場合

Assets.xcassets から色を変更したい画像を選択する。

1. Assets.xcassetsから色を変更したい画像を選択する

Attribute Inspector の Render As を [Template Image ]に変更する。

2.Attribute InspectorのRender Asを[ Template Image ]に変更する

storyboard 上の Tint Color で任意の色に変更する。

3.storyboard上のTint Colorで任意の色に変更する

コードで変更する場合

IBOutlet で画像を取得し、以下の設定することで色の変更が可能となります。

変更前のスクリーンショット

import UIKit

class viewController: UIViewController {

    @IBOutlet weak var imageView: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()

        // RenderingModeをalwaysTemplateに変更
        let lightImage = UIImage(named: "豆電球")?.withRenderingMode(.alwaysTemplate)
        // imageViewに画像を代入
        imageView.image = lightImage
        // imageViewのtintColorを任意の色に変更
        imageView.tintColor = .yellow
    }
}

色変更後のスクリーンショット

色が変更されていました。

参考記事

https://qiita.com/Kon_pippiana/items/78b46d53398681462549

Discussion