スポンサーリンク

【Obj-C】ロングプレスの設定 UILongPressGestureRecognizer

iPhone開発 ロングプレスの設定 UILongPressGestureRecognizer ios 逆引き サンプル

iPhone ios objective-c サンプル

iPhone の開発で、ロングプレスを処理するイベントを実装する方法です。
タッチのなが押しをした場合にイベントを発生させたい場合。

// UILongPressGestureRecognizer をインスタンス化します。また、イベント発生時に呼び出すメソッドを selector で指定します。
UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc]
initWithTarget:self action:@selector(selLongPressGesture:)];

// 1つの指でタップを2回行い2回目は0.8秒押した状態で指のずれは10px以内の条件で発生させたい場合。
// 指のズレを許容する範囲 10px
longPressGesture.allowableMovement = 100;
// イベントが発生するまでタップする時間 0.8 秒
longPressGesture.minimumPressDuration = 0.2f;
// タップする回数 1回の場合は[0] 2回の場合は[1]を指定
longPressGesture.numberOfTapsRequired = 1;
// タップする指の数
longPressGesture.numberOfTouchesRequired = 1;

// Viewへ関連付けします。
[self.view addGestureRecognizer:longPressGesture];

// ロングプレスされた時に実行されるメソッド、selectorで指定します。
– (void)selLongPressGesture:(UILongPressGestureRecognizer *)sender {
// ロングプレスされた時にログに表示
NSLog(@”Notice Long Gesture”);
}

コードサンプル

// Long press (also known as “touch and hold”)
// UILongPressGestureRecognizer
// ロングプレス

// UILongPressGestureRecognizer をインスタンス化します。また、イベント発生時に呼び出すメソッドを selector で指定します。
UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc]
initWithTarget:self action:@selector(selLongPressGesture:)];

// 1つの指でタップを2回行い2回目は0.8秒押した状態で指のずれは10px以内の条件で発生させたい場合。
// 指のズレを許容する範囲 10px
longPressGesture.allowableMovement = 100;
// イベントが発生するまでタップする時間 0.8 秒
longPressGesture.minimumPressDuration = 0.2f;
// タップする回数 1回の場合は[0] 2回の場合は[1]を指定
longPressGesture.numberOfTapsRequired = 1;
// タップする指の数
longPressGesture.numberOfTouchesRequired = 1;

// Viewへ関連付けします。
[self.view addGestureRecognizer:longPressGesture];


// ロングプレスされた時に実行されるメソッド、selectorで指定します。
- (void)selLongPressGesture:(UILongPressGestureRecognizer *)sender {
// ロングプレスされた時にログに表示
NSLog(@"Notice Long Gesture");
}

 

タイトルとURLをコピーしました