【Swift】[17] UILongPressGestureRecognizerについて

以前紹介したUIGestureRecognizerの一種であるUILongPressGestureRecognizerについて、利用方法を記載いたします。

まず、UILongPressGestureRecognizerはコンポーネントを長押しした際に何かしらの処理を行う。ために定義されているものです。

その何かしらの処理は、自身で定義することができます。

では、色々細かく説明していてもしょうがないので、実現方法を下記に記載いたします。

let myLongPressGesture = 
    UILongPressGestureRecognizer(
           target: self, 
           action: #selector(self.longPressGesture(_:))
     )
[処理を行いたいコンポーネント].addGestureRecognizer(myPanGesture)
...
...
@objc func longPressGesture(_ gesture: UILongPressGestureRecognizer){
     //処理
}

各種細かい設定をしたい場合

基本的には上記のコードより、コンポーネントに長押しを行った際の処理を定義することができますが、

UILongPressGestureRecognizerには、細かい設定が出来るようになっています。

その中でいくつか自分が使用したものを下記に紹介いたします。

myLongPressGesture.allowableMovement = CGFloat
myLongPressGesture.minimumPressDuration = TimeInterval

上記のコードにおいて、、、

一行目のallowableMovementは長押し時にどれだけ指が動くことを許容するかを定義しているものです。

デフォルトは10に設定されています。(Pixel単位)

二行目のminimumPressDurationは長押しとみなす時間を定義しているものです。。

要は長押しされた時の処理を何秒間長押ししたら発動するか。です。

デフォルトは0.5に設定されています。

その他にも二つほどありますが使うこと、、あるんですかね。。(因みに何回長押ししたら処理を行うか。と何本指で長押ししたら処理を行うかです。)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です