親切すぎるiPhoneアプリ開発の本

スライダのように連続して値を変えるには? - タッチイベントの対応

Icon comment count 0
Icon stock count 0

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側のタッチイベント対応メソッドが呼び出されないようになっています。そ

出典情報

Medium

親切すぎるiPhoneアプリ開発の本

  • 著者: 國居 貴浩

コメント

    コメントはありません