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"); }