2 タッチイベントの対応
スライダの振る舞いは、さすがにhighlightedプロパティをオーバーライドするだけでは対応不可能です。ステップ08でやったように、全てのタッチイベント対応メソッドをオーバーライドするか、もしくは、UIControlに用意された、もう少し簡単にタッチイベントに対応できるメソッドをオーバーライドする必要があります。
2.1 UIControlに用意されたタッチイベント対応メソッド
UIControlに用意された次の4つのメソッドは、これらのうち必要なメソッドだけオーバーライドしてかまいません。また、super側を呼ばなければならないという条件もありません。
注意)タッチイベントに関するターゲットアクション呼び出しは、これらのメソッドでおこなわれるので、それらをそのまま利用したい場合はsuper側を呼び出します
- -beginTrackingWithTouch:withEvent:
- -continueTrackingWithTouch:withEvent:
- -endTrackingWithTouch:withEvent:
- -cancelTrackingWithEvent:
UIControlを派生した場合のタッチイベントの対応には、まずはこちらのメソッドのオーバーライドで対応できないか考え、対応しきれない時だけステップ08でやった-touches〜メソッドのオーバーライドを考えればいいでしょう。
2.2 -touches〜メソッドのオーバーライドによる対応
ただし、今回は後で説明する「ある理由」のために、UIControl側のタッチイベント対応メソッドが呼び出されないようになっています。そ
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録