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

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

Swift 4.0
Xcode 9.0

 

UIGestureRecognizer

 
UIGestureRecognizerには2タイプあり、1度だけ認知するもの例えばUITapGestureRecognizerと、連続して認知するものUILongPressGestureRecognizerがあります。例えばLongPressを認知した指がある一定以上の時間同じ場所にあることが条件です。もし移動した場合、LongPressはキャンセルされます。

 

UITapGestureRecognizer

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

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

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

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

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

 

UILongPressGestureRecognizer

 
storyboardにUILabelを置いて、TapとLong Pressを表示するようにしてみます。
 
UILongPressGestureRecognizerを同様に設定すればできあがりです。
 
ViewController.swift

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

 

References:
UIGestureRecognizer – UIKit | Apple Developer Documentation
UITapGestureRecognizer – UIKit | Apple Developer Documentation
UILongPressGestureRecognizer – UIKit | Apple Developer …


ページのトップへ戻る

シェアする

  • このエントリーをはてなブックマークに追加

フォローする