访问ScrollView委托的父组件

时间:2017-10-03 10:36:29

标签: ios uitableview uicollectionview scrollview uiscrollviewdelegate

我在同一个控制器上有一个UICollectionView和一个UITableView。出于原因,我还需要实现一些scrollView委托方法。如何区分触发委托的组件(例如表或UICollectionView?)

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

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

    snapToNearestCell(collectionView)
}

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

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

1 个答案:

答案 0 :(得分:1)

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