selected や highlighted の表示を 1枚の画像で切り替えたい場合のメモ
// normal時の画像をテンプレートとしてレンダリングモードで取得
let highlightedImage: UIImage = UIImage(named: "icon")!.withRenderingMode(.alwaysTemplate)
// その画像をハイライト時の画像にする
self.button.setImage(highlightedImage, for: .highlighted)
// tintColorで色を指定する
self.button.tintColor = UIColor.red
ボタンを押した時に同じ画像で色が赤になります。
わざわざ画像を作ってもらわなくても大丈夫。