【Xcode/Swift】ExtensionでUIColorに任意の色を定義する方法

クリックできる目次

はじめに

例えば、背景を赤にしたい場合、UIColorのプロパティのredを使います。

view.backgroundColor = UIColor.red

このredのところをアプリのメインカラーで指定できたら、結構楽ですよね。その方法をご紹介します。

やり方

準備

やることとしては、簡単で、UIColorを拡張するだけです。

extension UIColor {
    static func mainColor() -> UIColor {
        return UIColor(red: 0/255, green: 114/255, blue: 221/255, alpha: 1.0)
    }
    static func accentColor() -> UIColor {
        return UIColor(red: 252/255, green: 96/255, blue: 163/255, alpha: 1.0)
    }
}

ここでは、mainColor青色accentColorピンクを指定してます。

使用方法

view.backgroundColor = UIColor.mainColor()
view.backgroundColor = .accentColor()

型がUIColorだと決まっていればUIColorは省略可能です。

ただ、こちらの方法では、ダークモード時とライトモード時で変わる色を指定できません。ダークモード時とライトモード時で色を切り替えたい場合は、以下の記事を参考にしてください。

参考 【Swift】 UIColor extensionに任意の色を定義するQiita