UIImageの色を変更する方法

UIImageの色を変更する方法 iOS

ボタンなどの画像の色を変更したい時は、コードやstoryboard上で変更することが可能です。

ボタンなどの画像の色を変更したい時はコードやstoryboard上で変更することが可能です。

storyboard上で変更する場合

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

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

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

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

3.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
    }
}

ちゃんと色が変更されていました。

参考記事