【swift】ボタン(UIButton)の画像色を変更

ボタン(UIButton)に設定した画像の色を変更する手順です。

手順

1.ボタン(UIButton)を用意

storyboardから紐付ける場合でもコードで記述する場合でもどちらでも構いません。

2.画像を読み込み

let buttonImage = UIImage(named: "imageName")?.withRenderingMode(.alwaysTemplate)

3.ボタン(UIButton)に画像と色を設定

button.setImage(buttonImage, for: .normal)
button.tintColor = UIColor.blue

参考

TableViewCellでチェックボックス を作成した時のサンプルコードです。画像を2つ用意して、チェックした/しないを切り替えています。

let checkedImage = UIImage(named: "checkbox_on")?.withRenderingMode(.alwaysTemplate)
let uncheckedImage = UIImage(named: "checkbox_off")?.withRenderingMode(.alwaysTemplate)
・・・
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
・・・
    let checkButton = cell.viewWithTag(1) as! UIButton
    if <チェック判定> {
        checkButton.setImage(checkedImage, for: .normal)
        checkButton.tintColor = UIColor.blue
    } else {
        checkButton.setImage(uncheckedImage, for: .normal)
        checkButton.tintColor = globalVar.unCheckColor
    }
    return cell
}

以上です。

コメント