2 プロパティのオーバーライド
UIControlに細かなターゲット/アクション用のイベントが定義されているので、やろうと思えばViewController側で、色パッチに触れられた時に透明度を変化させることも可能です。ですが、ここはやはりButton側で対応するのがいいでしょう。
2.1 ハイライトの調整
ですが、UIViewの派生でおこなったような、タッチイベント対応メソッドのオーバーライドは基本的に不要です。UIControlはタッチ状態を追跡中に内外判定に合わせて、自身のhighlightedプロパティを調整するようになっているので、このプロパティをオーバーライドするだけです。次のサンプルからわかるように、プロパティもオーバーライドが可能です。
class Button : UIControl {
override var highlighted:Bool {
set {
super.highlighted = newValue
self.alpha = newValue ? 0.5 : 1.0
}
get {
return super.highlighted
}
}
}
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録