1

私はUIPinchGestureでうまく動作しています。毎回縮んで大きくなると、イメージの座標(x、y、幅、高さ)を見つけたいと思います。私のコードは次のとおりiphoneでピンチェスの座標を取得する方法

- (IBAction)handlePinchGesture:(UIGestureRecognizer *)差出人{

CGFloat factor = [(UIPinchGestureRecognizer *) sender scale]; 
CGPoint point = [sender locationInView:self.moveImageView]; 
NSLog(@"The Coordinate is:---> x = %f y = %f", point.x, point.y); 
if (factor > 1) { 

moveImageView.transform = CGAffineTransformMakeScale(lastScaleFactor +(因子1)、 lastScaleFactor +(因子1)) ; } else { moveImageView.transform = CGAffineTransformMakeScale(lastScaleFactor * factor、 lastScaleFactor * factor);

    } 

if (sender.state == UIGestureRecognizerStateEnded){ 
    if (factor > 1) { 
     lastScaleFactor += (factor-1); 
    } else { 
     lastScaleFactor *= factor; 

     }  
    } 

}

moveImageViewはUIIMageViewの目的です。 xとyの座標が表示されますが、高さと幅も必要です。

この作業はうまくいきますが、画像の拡大縮小(縮小および大)後の画像の現在の座標(x、y、幅、高さ)を探したいと思います。いずれにせよ、私はできるだけ早く助ける。高度で

感謝:)

答えて

0

あなたも、アニメーション中にいずれかの正確な状態でUIImageViewの正確な状態が必要な場合は、その後、あなたはプレゼンテーション層にアクセスする必要があります。アニメーション中にモデルレイヤーが更新されないためです。これには、同様に行うことができます -

UIImageView *i = (UIImageView *)sender; 
CAlayer *imgLayer = [i.layer presentationLayer]; 

このimgLayerはあなたが必要とする正確な座標を、持っています。サイズ(幅、高さ)を含む。

+0

おかげ私に返信:しかし、私はこのコードを置く場所を教えてください。 – pinku

+0

@pinkuでは、このコードをピンチメソッドに入れます。つまりピンチが起こっているときに、正確にこれを行うには... –

+0

mこれをピンチ方法に入れます。 moveImageView =(UIImageView)送信者。 CAlayer * imgLayer = [moveImageView.layer presentationLayer]; – pinku

1

- (IBAction)handlePinchGesture:(UIGestureRecognizer *)差出人{

NSLog(@"image.frame.sizeWidth111 %f",moveImageView.frame.size.width); 
NSLog(@"image.frame.sizeHeight111 %f",moveImageView.frame.size.height); 

CGFloat factor = [(UIPinchGestureRecognizer *) sender scale]; 
CGPoint point = [sender locationInView:self.moveImageView]; 

NSLog(@"The Coordinate is:---> x = %f y = %f", point.x, point.y); 

//現在の要因は、1大きい場合 -

if (factor > 1) { 
       moveImageView.transform = CGAffineTransformMakeScale(lastScaleFactor + (factor-1), 
                lastScaleFactor + (factor-1)); 
       } else { 
        moveImageView.transform = CGAffineTransformMakeScale(lastScaleFactor * factor, 
                lastScaleFactor * factor); 

        } 

if (sender.state == UIGestureRecognizerStateEnded){ 
    if (factor > 1) { 
     lastScaleFactor += (factor-1); 
    } else { 
     lastScaleFactor *= factor; 

     }  
    } 
NSLog(@"image.frame.sizeWidth222 %f",moveImageView.frame.size.width); 
NSLog(@"image.frame.sizeHeight222 %f",moveImageView.frame.size.height); 

で>ズーム}の

関連する問題