ViewのプロパティであるisHighlightedの更新を受けて、背景色を設定するだけ。
カスタムViewを実装する際に、isHighlightedをオーバーライドし、didSetでbackgroundColorを設定すればいいだけ。こんなん。
override open var isHighlighted: Bool {
didSet {
backgroundColor = isHighlighted ? .lightGray : .blue
}
}
ちなみにisHighlightedとは、Androidでいうところのstate_pressed。UIButtonなどのUIControlクラスを継承したViewは状態に対して背景を変えるメソッドがあるため、それを使えばタップ中の色を変えることができる。