如何在UICollectionView的ScrollView中添加标签?

问题描述

我有一个具有多个UICollectionView的UIViewController,问题是我在任何UICollectionView上滚动时都触发了scrollViewDidEndDecelerating

我想要的是仅通过我的UICollectionView之一在scrollViewDidEndDecelerating调用函数

我看到了答案here,他们将ScrollViewscrollViewDidEndDecelerating给出的scrollView参数进行了比较,就像在他们的scrollView上添加一个标签,并检查问题scrollView.tag == myScrollView.tag我无法在UICollectionView内的scrollView中添加标签

这是我在scrollViewDidEndDecelerating上的示例代码,更清楚了

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
    print("hello")
}

它也适用于scrollViewWillEndDragging函数

解决方法

集合视图滚动视图,集合视图委托是滚动视图委托。因此,只需实现func scrollViewDidEndDecelerating(_ scrollView: UIScrollView),进入呼叫的scrollView就是正在滚动的集合视图。

您可以通过标签或插座来标识哪个集合视图,或者可以为集合视图提供其他某种识别功能(我喜欢给我的视图名称)。