我必须通过另一个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
,以在目标结束位置创建捕捉。 (我尝试了所有操作:contentOffset
,propertyAnimator
和核心动画)
那是UIView.animator
元素开始在可见区域中消失或其中一部分离开可见区域的时刻。
如果整个事情都是性能问题,那对我来说似乎是合理的,但是如上所述,拖动时它可以完美工作。
是否有一种方法可以强制调用targetCollectionView
,从而可以在实际上没有摇动手指的情况下影响prosedContentOffset
?
targetCollectionView
有任何想法吗?非常感谢。