2009-06-18 3 views
1

중첩 된 UIImageViews가있는 UIScrollView가 있습니다. 각 이미지 뷰는 확대/축소 할 수 있지만 이미지를 확대하는 동안 내부 스크롤 뷰를 스크롤하려고하면 외부 스크롤 뷰가 이미지 뷰를 전환하여 전환합니다.중첩 된 UISCrollViews - 확대 된 자식에서 스크롤 할 때 부모 Scrollview가 스크롤되지 않도록 방지

내부 스크롤이 확대되지 않을 때만 외부 스크롤보기가 스크롤되도록이 문제를 방지하려면 어떻게해야합니까?

답변

5

다른 사람들을 도우려는 답변을 게시 할 예정입니다.

중첩 된 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]; 
    } 
} 
관련 문제