Я опубликую свой ответ, который я получил, чтобы помогать другим.
Одним из простых способов обработки вложенных UIScrollViews является использование одного и того же делегата. Таким образом, когда вы обнаружите одну прокрутку UIScrollView, вы можете легко поделиться логикой контроллера и применить настройки к другому.
Чтобы решить эту конкретную проблему, с которой я столкнулся, все, что мне нужно было сделать, это сохранить BOOL с текущим состоянием масштабирования. Как только приложение обнаружит, что масштаб внутреннего прокрутки увеличивается,
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView1 {
return [innerScrollViews objectAtIndex:[self indexOfComicViewWithOffset:currentOffset]];
}
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView1 withView:(UIView *)view atScale:(float)scale {
if (scale == 1) {
zooming = NO;
[outerScrollView setScrollEnabled:YES];
} else {
zooming = YES;
[outerScrollView setScrollEnabled:NO];
}
}