[iPhone] アプリでタップを認識させるためのUITapGestureRecognizer

タップ操作はスマホアプリの醍醐味ですUIGestureRecognizer ではタップ、スワイプ(フリック)等々を扱えますが、まず手っ取り早くタップを扱うUITapGestureRecognizerと、長押しのUILongPressGestureRecognizerの使い方を見てみたいと思います。

tap_01
tap_02

 

Swift 3.0
Xcode 8.0

 

sponsored link

UIGestureRecognizer

  • UITapGestureRecognizer
  • UILongPressGestureRecognizer

 

UITapGestureRecognizer

 
タップを認識する為に、UITapGestureRecognizer を使ってインスタンスを生成します。
 

 
View に インスタンスを追加します

 
selector でタップされたときに呼びだされるメソッドを登録
 
タップされた時に、メソッドが呼び出されます

 
実際のコードです、Delegate をセットします。
 
ViewController.swift

 
実際にタップして「タップ」のログが出てくれば成功です。
 

 

UILongPressGestureRecognizer

 
更に、これにLong Pressを設定してスクリーンのラベルに表示するようにしてみます。
 
UILongPressGestureRecognizerを同様に設定すればできあがりです。
 

 

タップと長押しがそれぞれ認識されたでしょうか

tap_01
tap_02

 

尚、Objective-C の場合はこちらです