我已经导入了UICollectionViewDelegate、UICollectionViewDataSource和UIScrollViewDelegate。
我将我的集合视图的代理和数据源设置为self。
但是scrollViewDidScroll没有被调用,如果滚动视图是水平的,是否会有所不同?
如果集合视图使用其中的滚动视图,为什么scrollViewDidScroll没有被调用?
我已经导入了UICollectionViewDelegate、UICollectionViewDataSource和UIScrollViewDelegate。
我将我的集合视图的代理和数据源设置为self。
但是scrollViewDidScroll没有被调用,如果滚动视图是水平的,是否会有所不同?
如果集合视图使用其中的滚动视图,为什么scrollViewDidScroll没有被调用?
我是从Swift 2转换到Swift 3,以下是解决方法:
Swift 2:
public func scrollViewDidScroll(scrollView: UIScrollView)
转换至Swift 3:
public func scrollViewDidScroll(_ scrollView: UIScrollView)
基本上,下划线"_"解决了问题。令人烦恼的是,Swift编译器并没有抱怨它!!!
至于继承,UICollectionViewDelegate
应该可以解决问题。
我也遇到了这个问题。一开始我在storyboard里将代理设置为self,但此时scrollViewDidScroll没有被调用(但像collectionView willDisplayCell之类的函数则按预期工作)。经过一些尝试,我发现以编程方式设置代理可以解决问题。