2012-10-23 53 views
1

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

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

    scale = scale - previousScale; 
    previousScale = scale; 


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

} 

因为规模在增加,所以规模很大或很小。有什么建议么?

回答

2

这是更好地处理规模是这样的:

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

这将每次重新设置,使得需要计算它走开。您将失去速度计算,但我认为您无论如何都不会使用它们。

相关问题