我如何使用UIPinchGestureRecognizer使用变换来缩放CALayer(基于现有变换,图层的当前状态)?
- (IBAction)gesturePinch:(UIPinchGestureRecognizer *)sender
{
float scale = sender.scale;
scale = scale - previousScale;
previousScale = scale;
layer.transform = CATransform3DScale(square.transform, scale, scale, scale);
}
因为比例正在递增,所以它很快就会变得很大或很小。有什么建议吗?
答案 0 :(得分:2)
最好像这样处理比例:
layer.transform = CATransform3DScale(square.transform, sender.scale, sender.scale, sender.scale);
sender.scale = 1.f;
每次都会重置它,因此需要计算它就会消失。您将失去速度计算,但我认为您无论如何都不会使用它们。