2016-07-06 221 views
2

我已经导入了UICollectionViewDelege,UICollectionViewDatasource和UIScrollViewDelegate。UICollectionView不能调用scrollViewDidScroll - Swift

我已经将我的集合视图委托和数据源设置为self。

但scrollViewDidScroll没有被调用,我的滚动视图变得水平,如果这有所作为?

为什么scrollViewDidScroll不被调用,如果集合视图使用里面的滚动视图?

回答

0

UICollectionView继承自UIScrollView。您不需要添加UIScrollViewDelegate。删除它并添加UICollectionViewDelegate。这可能会解决您的问题。

+0

nope不做任何事情,我已经设置了代表和内容大小,但没有调用。 Iv完成了所有的步骤和互联网说iv完成了它只是没有调用的所有东西 – Eli

0

我也遇到过这个问题。我首先通过在代理故事板中将代理设置为self,然后scrollViewDidScroll没有被调用(但像collectionView willDisplayCell这样的函数是按预期的那样)。在玩过一段时间后,我发现设置代理以编程方式解决了这个问题。

+0

同样的问题在这里。我在IB中设置了我的委托和数据源,但是scrollViewDidScroll()不会触发。 即使我在代码中设置它们,问题仍然存在。 –

1

我在动的形式迅速2迅速3,哪些诀窍是:

SWIFT 2:

public func scrollViewDidScroll(scrollView: UIScrollView) 

到SWIFT 3:

public func scrollViewDidScroll(_ scrollView: UIScrollView) 

所以基本上“_”下划线完成了这个诀窍。令人讨厌的是,swift编译器并没有抱怨!

至于继承UICollectionViewDelegate应该做的伎俩。

相关问题