スポンサーリンク

【Obj-C】パン(ドラッグ)イベントの設定(イベント) UIPanGestureRecognizer

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);
        } 
        
    }
タイトルとURLをコピーしました