我有一个带有嵌套 UIImageViews 的 UIScrollView。每个图像视图都可以缩放,但是当我在缩放图像时尝试滚动内部滚动视图时,外部滚动视图会拾取它并切换图像视图。
如何防止这种情况发生,以便外部滚动视图仅在内部未缩放时滚动?
我有一个带有嵌套 UIImageViews 的 UIScrollView。每个图像视图都可以缩放,但是当我在缩放图像时尝试滚动内部滚动视图时,外部滚动视图会拾取它并切换图像视图。
如何防止这种情况发生,以便外部滚动视图仅在内部未缩放时滚动?
我将发布我必须努力帮助他人的答案。
处理嵌套 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];
}
}