【问题标题】:How to add tag in UICollectionView's ScrollView?如何在 UICollectionView 的 ScrollView 中添加标签?
【发布时间】:2020-08-21 15:58:46
【问题描述】:

我有一个具有多个 UICollectionView 的 UIViewController,问题是当我滚动任何 UICollectionView 时,我的 scrollViewDidEndDecelerating 被触发,

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

我看到here 的答案,他们将ScrollViewscrollViewDidEndDecelerating 给出的scrollView 参数进行比较,例如在他们的scrollView 上添加标签并检查scrollView.tag == myScrollView.tag,问题是我无法添加标签在我的 UICollectionView 内的滚动视图中。

这是我在scrollViewDidEndDecelerating 上的示例代码,以使其更清晰

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

它也适用于scrollViewWillEndDragging函数

【问题讨论】:

  • @matt 但我如何识别将使用scrollViewDidEndDecelerating 的 UICollectionView?
  • @matt 是的,但这是我的 UIViewcontroller 中所有 UICollectionView 的滚动视图,我的意思是任何 UICollectionView 都有该滚动视图,我如何确定我将在哪里使用 UICollectionView?
  • @matt UICollectionViews 是可滚动的,当我在任何 UICollectionView 上滚动时,它们都在 scrollViewDidEndDecelerating 内调用相同的函数,例如,我有 2 个 UICollectionViews,我想调用 @987654332 内的代码@ 但在滚动时不会在另一个 UICollectionView 上调用它
  • 我明白了,抱歉我弄糊涂了,所以 scrollView 是 UICollectionView,现在我明白了,谢谢!

标签: ios swift uicollectionview


【解决方案1】:

集合视图滚动视图,集合视图委托是滚动视图委托。所以只需实现func scrollViewDidEndDecelerating(_ scrollView: UIScrollView),到达调用中的scrollView 将是正在滚动的集合视图。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    相关资源
    最近更新 更多