在UIScrollView的子视图中禁用水平滚动

时间:2012-10-31 15:39:35

标签: objective-c ios uiscrollview

我有3个UIScrollViews,称他们为ABC

A是一个分页滚动视图,其中添加了许多B个滚动视图作为子视图(页面)。 B仅垂直滚动。 C是一个滚动视图,作为子视图添加到UIView,作为子视图添加到B

我想要实现的功能是:

如果A内容UIView内发生水平滚动,则禁止对C进行分页。但是,仍允许垂直滚动B

1 个答案:

答案 0 :(得分:0)

实现- (void)scrollViewDidScroll:(UIScrollView*)scrollView以找出滚动的滚动视图,然后检查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
    }
}

根据您的具体要求,您可以使用该特定滚动视图的这两个代表和contentOffset来获得所需的效果。