1

我有一个带有嵌套 UIImageViews 的 UIScrollView。每个图像视图都可以缩放,但是当我在缩放图像时尝试滚动内部滚动视图时,外部滚动视图会拾取它并切换图像视图。

如何防止这种情况发生,以便外部滚动视图仅在内部未缩放时滚动?

4

1 回答 1

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];
    }
}
于 2009-06-18T07:20:54.007 回答