The following zooms to scale perfectly, but no bounce effect like UIScrollView delegate. Any ideas on how to manually create the bounce effect?
Code:
-(void)pinchGestureRecognized:(UIPinchGestureRecognizer*)recognizer
{
if (recognizer.state == UIGestureRecognizerStateBegan) {
lastScale = recognizer.scale;
}
if (recognizer.state == UIGestureRecognizerStateBegan || recognizer.state == UIGestureRecognizerStateChanged)
{
CGFloat currentScale = [[recognizer.view.layer valueForKeyPath:@"transform.scale"] floatValue];
const CGFloat kMinScale = 0.75;
const CGFloat kMaxScale = 1.00;
CGFloat newerScale = 1 - (lastScale - recognizer.scale);
newerScale = MIN(newerScale, kMaxScale/currentScale);
newerScale = MAX(newerScale, kMinScale/currentScale);
CGAffineTransform transform = CGAffineTransformScale(recognizer.view.transform, newerScale, newerScale);
recognizer.view.transform = transform;
lastScale = recognizer.scale;
}
}