如何在UIView上应用UIPinchGesture?

时间:2013-05-06 10:07:30

标签: uiview ios6 uipinchgesturerecognizer

我有一个UIView,其中只有一个UIImage。 我想在这个UIVIew UIPinchGesture上应用Programatically。 我想调整此UIView的大小。

我正在添加

 UIPinchGestureRecognizer *pinchRecognizer = 
  [[UIPinchGestureRecognizer alloc] initWithTarget:self 
                                            action:@selector(handlePinch:)];
 [pinchRecognizer setDelegate:self]; 
 [frameView addGestureRecognizer:pinchRecognizer];

-(void)handlePinch:(UIPinchGestureRecognizer*)sender{
}

但是,我是第一次申请,所以任何人都可以帮助我。

非常感谢帮助!

2 个答案:

答案 0 :(得分:1)

UIPinchGestureRecogniser有一个名为property的{​​{1}},它是两次触摸scale之间的scale因子。您可以使用这家酒店。

在handlePinch:selector方法

中添加此代码
CGPoints

如文档中所述,

  

比例值是随时间变化的绝对值。它不是上次报告比例时的delta值。首次识别手势时,将比例值应用于视图的状态 - 每次调用处理程序时都不会连接值。

因此我们需要将比例值重置为1.0。

答案 1 :(得分:1)

-(void) handlePinch:(UIPinchGestureRecognizer *)gestureRecognizer{

    if ([gestureRecognizer state] == UIGestureRecognizerStateBegan || [gestureRecognizer state] == UIGestureRecognizerStateChanged) {
        [gestureRecognizer view].transform = CGAffineTransformScale([[gestureRecognizer view] transform], [gestureRecognizer scale], [gestureRecognizer scale]);
        [gestureRecognizer setScale:1];
    }



}

有关详细信息,请参阅this link