iPhone開発 パン(ドラッグ)イベントの設定(イベント) UIPanGestureRecognizer ios 逆引き サンプル
iPhone ios objective-c サンプル
iPhone の開発で、二本指の操作でビューの拡大、縮小、画像の拡大、縮小を処理するイベントを実装する方法です。
UIPanGestureRecognizer をインスタンス化します。また、イベント発生時に呼び出すメソッドを selector で指定します。
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc]
initWithTarget:self action:@selector(handlePanGesture:)];
認識させtる最小の指の数を設定します。
panGesture.minimumNumberOfTouches = 1;
認識させる最大の指の数を設定します。
panGesture.maximumNumberOfTouches = 3;
Viewへ関連付けします。
[self.view addGestureRecognizer:panGesture];
以下が、パンされた時に呼び出されるメソッドになります。上記の selector にて設定をしています。
– (void)handlePanGesture:(UIPanGestureRecognizer *)sender {
パンによって発生した位置を取得します。
CGPoint tapPoint = [sender translationInView:self.view];
コードサンプル
// Panning or dragging // UIPanGestureRecognizer // パン(ドラッグ) UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGesture:)]; panGesture.minimumNumberOfTouches = 1; panGesture.maximumNumberOfTouches = 3; [self.view addGestureRecognizer:panGesture]; // セレクター - (void)handlePanGesture:(UIPanGestureRecognizer *)sender { if (sender.state == UIGestureRecognizerStateEnded){ CGPoint tapPoint = [sender translationInView:self.view]; NSLog(@"tapPoint x : %f",tapPoint.x); NSLog(@"tapPoint y : %f",tapPoint.y); } }