ものすごく簡単なことですが、いつもつい忘れてしまうので…
通常、デフォルトではUIImageのレンダリングモードがオリジナルモードとなっているため、以下のようにtintColor
を指定しても、元の画像の色から変更できない。
iconView.image = UIImage(named: "imageName")
iconView.tintColor = .gray
色を変更するならレンダリングモードを変更する必要があります
UIImageを生成した時にwithRenderingMode()
を繋げて指定し、レンダリングモードをテンプレートモードにすればOK!
iconView.image = UIImage(named: "imageName")?.withRenderingMode(.alwaysTemplate)
iconView.tintColor = .gray
alwaysTemplate
は、Assetsの画像Inspectorで指定することもできます。
参考:https://stackoverflow.com/questions/12872680/changing-uiimage-color