2009-06-18 13 views
1

入れ子のUIImageViewsを持つUIScrollViewがあります。各画像ビューはズームできますが、画像を拡大しているときに内側のスクロールビューをスクロールしようとすると、外側のスクロールビューがそれをピックアップして画像ビューを切り替えます。入れ子にされたUISCrollViews - 子を拡大したときに親のScrollviewがスクロールするのを防ぐ

これが起こらないようにするにはどうすれば、インナーがズームされていないときに外側のスクロールビューがスクロールするだけですか?

答えて

5

私は他の人を助けるために働いているという私の答えを投稿します。

ネストされたUIScrollViewsを処理する簡単な方法の1つは、同じデリゲートを共有することです。このように、1つの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]; 
    } 
} 
関連する問題