0

私は 3 つ持っておりUIScrollViews、それらAを 、B、および と呼びますC

ABサブビュー(ページ)として追加された 多くのスクロールビューを持つページングスクロールビューです。B縦スクロールのみ。 Cにサブビューとして追加された にサブビューとして追加されたスクロールビューUIViewですB

私が達成しようとしている機能は次のとおりです。

ハウジングA内で水平スクロールが発生している場合のページングを禁止します。ただし、 の垂直スクロールは引き続き許可します。UIViewCB

4

1 に答える 1

0

を実装して、- (void)scrollViewDidScroll:(UIScrollView*)scrollViewどのスクロール ビューがスクロールしているかを調べてcontentOffsetから、スクロール ビューのプロパティをチェックして、スクロール ビューのスクロール位置を決定します。scrollViewDidEndDeceleratingデリゲートを使用して、スクロールの終了を検出できます。

例:-

- (void)scrollViewDidScroll:(UIScrollView*)scrollView {
    if (scrollView == C) {
       //disable scrolling of A
    }
}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
    if (scrollView == C) {
        //enable scrolling of A
    }
}

正確な要件に基づいて、これら 2 つのデリゲートとcontentOffsetその特定のスクロールビューを使用して、目的の効果を得ることができます。

于 2012-10-31T15:43:56.813 に答える