我在同一个控制器上有一个UICollectionView和一个UITableView。出于原因,我还需要实现一些scrollView委托方法。如何区分触发委托的组件(例如表或UICollectionView?)
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
//need to distinguish which component
//triggered the delegate here
snapToNearestCell(collectionView)
}
一个想法是为每个组件的UIScrollView添加一个标记(即使滚动视图不是那么容易访问,你需要迭代组件视图)
还有其他想法,最佳做法吗?
答案 0 :(得分:1)
表视图和集合视图是传递给该方法的滚动视图。将标记设置为表视图和集合视图,您可以推断出谁调用了该委托方法。