使用UIPinchGestureRecognizer来缩放图层

时间:2012-10-23 09:18:50

标签: ios core-animation uipinchgesturerecognizer

我如何使用UIPinchGestureRecognizer使用变换来缩放CALayer(基于现有变换,图层的当前状态)?

- (IBAction)gesturePinch:(UIPinchGestureRecognizer *)sender
{
    float scale = sender.scale;

    scale = scale - previousScale;
    previousScale = scale;


    layer.transform  = CATransform3DScale(square.transform, scale, scale, scale);

}

因为比例正在递增,所以它很快就会变得很大或很小。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

最好像这样处理比例:

layer.transform  = CATransform3DScale(square.transform, sender.scale, sender.scale, sender.scale);
sender.scale = 1.f;

每次都会重置它,因此需要计算它就会消失。您将失去速度计算,但我认为您无论如何都不会使用它们。