UICollectionView“远程控制”滚动问题

时间:2018-07-30 11:36:18

标签: ios swift uicollectionview uicollectionviewlayout uicollectionviewdelegate

我必须通过另一个collectionView的contentOffset来“遥控”一个targetCollectionView(称为collectionView)的contentOffset。

挑战在于,两者之间存在一个传输因子,这迫使targetCollectionView的边界移动速度比手动滚动更快。

我在scrollViewDelegate中加快速度:

func scrollViewDidScroll(_ scrollView: UIScrollView) { 
    targetCollectionView.bounds.origin.y =  
    sourceCollectionView.bounds.origin.y * CGFloat(10)
}

好吧,令人惊讶的是,在拖动sourceCollectionView的同时效果很好并且表现出色。现在,.isTracking结束后,我尝试通过动画操作targetCollectionsView的{​​{1}}或bounds.origin,以在目标结束位置创建捕捉。 (我尝试了所有操作:contentOffsetpropertyAnimator和核心动画)

那是UIView.animator元素开始在可见区域中消失或其中一部分离开可见区域的时刻。 如果整个事情都是性能问题,那对我来说似乎是合理的,但是如上所述,拖动时它可以完美工作。

是否有一种方法可以强制调用targetCollectionView,从而可以在实际上没有摇动手指的情况下影响prosedContentOffset

targetCollectionView

有任何想法吗?非常感谢。

0 个答案:

没有答案