다른 사람들을 도우려는 답변을 게시 할 예정입니다.
중첩 된 UIScrollView를 처리하는 쉬운 방법 중 하나는 같은 대리인을 공유하는 것입니다. 이렇게하면 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];
}
}