【Swift5】テーマカラーの変更方法について

最近アプリのテーマカラーを変更する機能を実装しました。
アプリで使われている色を変更するやつですね。
数年前にも実装したことがあったのですが、UIButton や UIImageView 等、変更したいオブジェクトの tintColor をつまんねーと思いながらシコシコと作業しておりました (^ω^)

で。
今回もその実装するのかーと思ってテンサゲだったのですが、恐ろしいことに気付きました。

親View の tintColor を変更すると、



子View の tintColor も全ての変わる…


なんてこったい ( ˘ω˘ )スヤァ
ドキュメントを読まない天罰ですwww

実装方法

Storyboard を使っていたので、以下のクラスを作って、UIViewController の UIView に設定しました。

これだけぇ。
まぁ UISwitch みたいに onTintColor でカラー変更するイレギュラーなやつを除きますが、UIImageView や UIProgress は反映されます。

さいごに

SwiftUI でも実装してみたい今日この頃ですが、案件としても少ないですね。
個人プロジェクトでも SwiftUI 使っていません \(^ω^\)
次は使ってみようかな…(多分使わないぱてぃーん)

コメント