我正在尝试使用
该集合视图有一个自定义布局。我也尝试了常规的流布局,结果相同。
在数据重新加载时,我执行以下代码,使集合视图具有其内容的大小,以防止在集合视图内部滚动但不在集合视图外部的滚动视图中发生滚动:
也许这与它有关?
我所做的事情:
- 我的UIViewController确实继承自UICollectionViewDataSourcePrefetching。 - collectionView.prefetchDataSource = self(也尝试使用storyboard)。 - collectionView.isPrefetchingEnabled = true(也尝试使用storyboard)。 - 我已经实现了collectionView(_:prefetchItemsAt:)。
问题: prefetchItemsAt方法没有被调用。我通过在该方法中放置一个print语句并设置断点来确定这一点。
UICollectionViewDataSourcePrefetching
协议为我的UICollectionView
实现数据预取,但是相关方法没有被调用。该集合视图有一个自定义布局。我也尝试了常规的流布局,结果相同。
在数据重新加载时,我执行以下代码,使集合视图具有其内容的大小,以防止在集合视图内部滚动但不在集合视图外部的滚动视图中发生滚动:
func reloadData() {
viewDidLayoutSubviews()
collectionView.reloadData()
collectionView.layoutIfNeeded()
viewDidLayoutSubviews()
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
collectionViewHeightConstraint.constant = collectionView.collectionViewLayout.collectionViewContentSize.height
collectionView.layoutIfNeeded()
view.layoutIfNeeded()
}
也许这与它有关?
我所做的事情:
- 我的UIViewController确实继承自UICollectionViewDataSourcePrefetching。 - collectionView.prefetchDataSource = self(也尝试使用storyboard)。 - collectionView.isPrefetchingEnabled = true(也尝试使用storyboard)。 - 我已经实现了collectionView(_:prefetchItemsAt:)。
问题: prefetchItemsAt方法没有被调用。我通过在该方法中放置一个print语句并设置断点来确定这一点。