在UIScrollView子视图中锁定滚动事件的处理(在UIScrollView超级视图中)

时间:2014-09-22 05:06:11

标签: ios uiscrollview scroll uicollectionview swipe

我有一个复杂的视图层次结构:

UIScrollView
    - UITableView
        - UICollectionView

UICollectionViewUIScrollView都水平滚动。现在,我想在UICollectionView上专门捕捉滑动手势,以便超级视图(UIScrollView)忽略它。

用户可以向左滑动以到达UICollectionView的末尾。最后,UICollectionView上的滑动手势会被超级视图(UIScrollView)忽略并捕获,界面会发生变化。我该如何防止这种情况发生?

注意:我正在使用UIScrollView和UICollectionView提供的默认滑动功能,即我没有添加任何自定义滑动手势处理。

1 个答案:

答案 0 :(得分:0)

在ViewController.m中

-(void)viewDidLoad
{
   scrollView.delegate = self;
   collectionView.delegate = self;
}

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
   if (the scrollView didn't reached the end){
      then collectionView can't scroll
   }else{
      collectionView can scroll
   }
}

您可以查看scrollView是否已达到contentOffset属性的结尾

不要忘记声明您正在使用scrollView的委托

希望有所帮助