1
我有一個UIScrollView與嵌套的UIImageViews。每個圖像視圖都可以縮放,但是當我在圖像上縮放時嘗試滾動內部滾動視圖時,外部滾動視圖將其拾取並切換圖像瀏覽。嵌套UISCrollViews - 防止父縮放滾動放大兒童
如何防止發生這種情況,以便在內部不縮放時外部滾動視圖僅滾動?
我有一個UIScrollView與嵌套的UIImageViews。每個圖像視圖都可以縮放,但是當我在圖像上縮放時嘗試滾動內部滾動視圖時,外部滾動視圖將其拾取並切換圖像瀏覽。嵌套UISCrollViews - 防止父縮放滾動放大兒童
如何防止發生這種情況,以便在內部不縮放時外部滾動視圖僅滾動?
我會發布我的答案,我必須努力幫助別人。
處理嵌套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];
}
}