How do you forcibly cancel a zooming open pinch gesture on a UIScrollView, say when the user has zoomed \"sufficiently\" far to trigger a new action?
A brute force solution i found is to remove and re-add the view that receives the touches, as my (sub)scrollview just did not end reacting to zooms as long as the user would not end the gesture.
In ScrollViews this is done commonly if you remove / add subviews as the user scrolls through a large content size, so there is not even the need to write additional code.
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
if (scrollView.zoomScale < 0.65)
{
// some actions
[self myactionstodo];
// force cancel zoom gesture by usual reload (remove and re-add subviews)
[self reloadSV:currentpage];
}
}