Есть ли способ определить, может ли UIScrollView zoomToRect: в пределах maximumZoomScale и minimumZoomScale? Поэтому верните NO, если требуемый zoomScale будет слишком мал?
zoomToRect:
maximumZoomScale
minimumZoomScale
zoomScale
Может быть, такие вещи могут работать? (идея слегка украдена у https://stackoverflow.com/a/2125472/845115)
- (BOOL)scrollView:(UIScrollView*)scrollView canZoomToRect:(CGRect)zoomToRect { CGPoint contentOffsetBefore = scrollView.contentOffset; CGFloat zoomBefore = scrollView.zoomScale; [scrollView zoomToRect:zoomToRect animated:NO]; CGFloat zoomAfter = scrollView.zoomScale; [scrollView setZoomScale:zoomBefore animated:NO]; [scrollView setContentOffset:contentOffsetBefore animated:NO]; return (zoomBefore == zoomAfter); }