访问 ScrollView 委托的父组件

Access parent component for ScrollView delegate

我在同一个控制器上有一个 UICollectionView 和一个 UITableView。由于某些原因,我还需要实现一些 scrollView 委托方法。我如何区分哪个组件触发了委托(例如它是 table 还是 UICollectionView?)

func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {

    //need to distinguish which component
    //triggered the delegate here

    snapToNearestCell(collectionView)
}

一个想法是为每个组件的 UIScrollView 添加一个标签(即使滚动视图不是那么容易访问并且您需要迭代组件视图)

还有其他想法和最佳做法吗?

table 视图和集合视图是传递给该方法的滚动视图。将标签设置到 table 视图和集合视图,您就可以推断出是谁调用了该委托方法。