Manually scrolling two UICollectionViews showing the same content

前端 未结 2 1287
野性不改
野性不改 2021-01-26 20:40

As the title suggest, I have a UIViewController with two UICollectionViews which are displaying the same content in a horizontal fashion. The main one

2条回答
  •  醉酒成梦
    2021-01-26 21:04

    Keep track of the currently dragging scroll view when scrollViewWillBeginDragging: is called.

    In scrollViewDidScroll:, update the scroll view that is not dragging:

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView{
        if(scrollView == self.mainCollectionView 
                 && self.mainCollectionView == self.scrollingView){ // new check
            CGFloat x = self.mainCollectionView.contentOffset.x / self.mainCollectionView.bounds.size.width * SM_IPHONE_THUMB_CONTAINER_SIZE; // cell width + spacing 48 + 8
            CGFloat y = 0;
            CGPoint contentOffset = CGPointMake(x, y);
            self.thumbsCollectionView.contentOffset = contentOffset;
    
        }
        else if(scrollView == self.thumbsCollectionView 
               && self.thumbsCollectionView== self.scrollingView){ // new check
            CGFloat   x = self.thumbsCollectionView.contentOffset.x / self.thumbsCollectionView.bounds.size.width * SM_IPHONE_THUMB_CONTAINER_SIZE; // cell width + spacing 48 + 8
            CGFloat y = 0;
            CGPoint contentOffset = CGPointMake(x, y);
            self.mainCollectionView.contentOffset = contentOffset;
    
    }
    

提交回复
热议问题