完成形
修正前
UIImageView の場合
色を指定する
色は TintColor に従うので、 TintColor を変更することで色を変えることができます。
class WithIconTableViewCell: UITableViewCell {
@IBOutlet var leftImageView: UIImageView!
@IBOutlet var centerLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// アイコン画像の色を指定する
leftImageView.tintColor = .TextColor
}
画像のα値だけで描画させる
UIImage で指定できる UIImageRenderingMode.AlwaysTemplate は画像のα値だけで描画してくれます。
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.section == 0 {
switch indexPath.row {
case 0:
//① UI部品を指定 TableViewCell
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! WithIconTableViewCell
cell.centerLabel.text = "アップグレード"
cell.leftImageView.image = UIImage(named: "icons8-シェブロン-25")?.withRenderingMode(.alwaysTemplate)
return cell
default:
return WithIconTableViewCell()
}
}
UIButton の場合
// 画像のα値だけで描画させる
let backImage = UIImage(named: "icons8-戻る-25")?.withRenderingMode(.alwaysTemplate)
Button_Left.setImage(backImage, for: UIControl.State.normal)
// アイコン画像の色を指定する
Button_Left.tintColor = .TextColor