diff --git a/contrib/mobile/iOS/Onelab/DetailViewController.mm b/contrib/mobile/iOS/Onelab/DetailViewController.mm index 9ba0fbb9ae9838117e379527fbf05d739dd77811..d5e17e5d62d29a5761570709c74f70c175170fbf 100644 --- a/contrib/mobile/iOS/Onelab/DetailViewController.mm +++ b/contrib/mobile/iOS/Onelab/DetailViewController.mm @@ -56,9 +56,19 @@ - (IBAction)pinch:(UIPinchGestureRecognizer *)sender { if([sender numberOfTouches] != 2) return; - scaleFactor *= [sender scale]; - scaleFactor = MAX(0.1, scaleFactor); - glView->mContext->eventHandler(2,scaleFactor); + float mScale; + if (sender.state == UIGestureRecognizerStateBegan) + mScale = scaleFactor; + else if(sender.state == UIGestureRecognizerStateChanged) + mScale = scaleFactor * [sender scale]; + else if(sender.state == UIGestureRecognizerStateEnded){ + scaleFactor *= [sender scale]; + mScale = scaleFactor; + } + else + mScale = 1.0f; + mScale = MAX(0.1, mScale); + glView->mContext->eventHandler(2,mScale); [glView drawView]; } -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event