1
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

【Swift】UIButtonをタップ(isHighlighted)した時にBackgroundColorを変更する

UIButtonのタップアクションに合わせて文字の色を変更するのは簡単ですが、背景の色を変えるのは少し面倒です。

main.swift
// CustomButtonを作成する
@IBOutlet weak var button: CustomButton!

カスタムボタンのクラス

class CustomButton: UIButton {
    override open var isHighlighted: Bool {
        // ここでisHighlightedを元にbackgroundColorを設定する
        didSet {
            backgroundColor = isHighlighted ? .gray : .white
        }
    }
}

これでボタンのタップアクションに合わせて背景の色を変えることができます👌

余談

もちろん同じ要領でisSelectedの時も色の変更が可能。
プロジェクトでレイアウトを統一する時は共通コンポーネントとして用意しておくと便利ですね。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
1
Help us understand the problem. What are the problem?