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