[XCODE] UIViewにタップした際のイベントを登録する
今日は、UIViewを拡張せずともタッチイベントを登録する方法を学んだので、ブログに残しておきたいと思います。
UIViewクラスのaddGestureRecognizer:メソッド
このメソッドでジェスチャーを追加することで、Viewをタップした際の動作を追加することが出来ます。以下のような手順で実装します。
UITapGestureRecognizerオブジェクトを作成
どのような動きをするかのジェスチャーオブジェクトを作成します。今回はTapジェスチャーを追加します。
UITapGestureRecognizer *tapGesture = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(colorPicker:)]autorelease];
initWithTargetには、タップした際に呼び出すメソッドを持つオブジェクトを、actionには、タップした際のメソッドを指すSelectorを指定します。
UIViewにジェスチャーを追加
上記で作成したジェスチャーをUIViewのaddGestureRecognizerメソッドで追加します。
[aView addGestureRecognizer:tapGesture];
たったこれだけで、簡単にUIViewにタップイベントを追加することが出来ます。簡単ラクチン♪(´ε` )
他にも
今回ブログに書いたタップジェスチャー以外にも、色々なジェスチャーを登録出来るようです。以下のが一覧です。
UITapGestureRecognizer | タップ時のイベント |
UIPinchGestureRecognizer | ピンチ時のイベント |
UIRotationGestureRecognizer | 回転した時のイベント |
UISwipeGestureRecognizer | スワイプした時のイベント |
UIPanGestureRecognizer | パンした時のイベント |
UILongPressGestureRecognizer | 長押しした際のイベント |
参考サイト
上記の内容の詳細は、以下をご確認下さい。
UIGestureRecognizer Class Reference
最後に
UIViewは色々な機能を持っていて便利ですね。ありがたい。もっともっと色々な事を学べるといいなぁ(*´∇`*)