iPhone開発 スワイプイベントの設定 UISwipeGestureRecognizer
iPhone の開発で、スワイプを処理するイベントを実装する方法です。
スワイプされた時に、
画面を切り替える、
アラートを表示、
画面を閉じる
などに利用します。
// UIPanGestureRecognizer をインスタンス化します。また、イベント発生時に呼び出すメソッドを selector で指定します。
UISwipeGestureRecognizer* swipeRightGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(selSwipeRightGesture:)];
// 右スワイプのイベントを指定します。
swipeRightGesture.direction = UISwipeGestureRecognizerDirectionRight;
指定できるイベント
右を関連付ける場合
UISwipeGestureRecognizerDirectionRight
左を関連付ける場合
UISwipeGestureRecognizerDirectionLeft
上を関連付ける場合
UISwipeGestureRecognizerDirectionUp
下を関連付ける場合
UISwipeGestureRecognizerDirectionDown
// Viewへ関連付けします。
[self.view addGestureRecognizer:swipeRightGesture];
// 右スワイプされた時に実行されるメソッド、selectorで指定します。
– (void)selSwipeRightGesture:(UISwipeGestureRecognizer *)sender {
// 右スワイプされた時にログに表示
NSLog(@”Notice Right Gesture”);
}
コードサンプル
// Swiping (in any direction) // UISwipeGestureRecognizer // スワイプ // UIPanGestureRecognizer をインスタンス化します。また、イベント発生時に呼び出すメソッドを selector で指定します。 UISwipeGestureRecognizer* swipeRightGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(selSwipeRightGesture:)]; // 右スワイプのイベントを指定します。 swipeRightGesture.direction = UISwipeGestureRecognizerDirectionRight; // Viewへ関連付けします。 [self.view addGestureRecognizer:swipeRightGesture]; // UIPanGestureRecognizer をインスタンス化します。また、イベント発生時に呼び出すメソッドを selector で指定します。 UISwipeGestureRecognizer* swipeLeftGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(selSwipeLeftGesture:)]; // 左スワイプのイベントを指定します。 swipeLeftGesture.direction = UISwipeGestureRecognizerDirectionLeft; // Viewへ関連付けします。 [self.view addGestureRecognizer:swipeLeftGesture]; // UIPanGestureRecognizer をインスタンス化します。また、イベント発生時に呼び出すメソッドを selector で指定します。 UISwipeGestureRecognizer* swipeUpGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(selSwipeUpGesture:)]; // 上スワイプのイベントを指定します。 swipeUpGesture.direction = UISwipeGestureRecognizerDirectionUp; // Viewへ関連付けします。 [self.view addGestureRecognizer:swipeUpGesture]; // UIPanGestureRecognizer をインスタンス化します。また、イベント発生時に呼び出すメソッドを selector で指定します。 UISwipeGestureRecognizer* swipeDownGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(selSwipeDownGesture:)]; // 下スワイプのイベントを指定します。 swipeDownGesture.direction = UISwipeGestureRecognizerDirectionDown; // Viewへ関連付けします。 [self.view addGestureRecognizer:swipeDownGesture]; // 右スワイプされた時に実行されるメソッド、selectorで指定します。 - (void)selSwipeRightGesture:(UISwipeGestureRecognizer *)sender { // 右スワイプされた時にログに表示 NSLog(@"Notice Right Gesture"); } // 左スワイプされた時に実行されるメソッド、selectorで指定します。 - (void)selSwipeLeftGesture:(UISwipeGestureRecognizer *)sender { // 左スワイプされた時にログに表示 NSLog(@"Notice Left Gesture"); } // 上スワイプされた時に実行されるメソッド、selectorで指定します。 - (void)selSwipeUpGesture:(UISwipeGestureRecognizer *)sender { // 上スワイプされた時にログに表示 NSLog(@"Notice Up Gesture"); } // 下スワイプされた時に実行されるメソッド、selectorで指定します。 - (void)selSwipeDownGesture:(UISwipeGestureRecognizer *)sender { // 下スワイプされた時にログに表示 NSLog(@"Notice Down Gesture"); }