2017-03-01 82 views
0

我有一個collectionView,名爲parentCollectionView,它水平滾動。每個可重複使用的單元格內都有一個collectionView,名爲childCollectionView,它可以垂直滾動。重新加載數據時出現的奇怪問題(iOS)

我有一個奇怪的問題。當我在parentCollectionView上使用reloadData()時,單元格會在一秒鐘內干擾/閃爍,如果向下滾動,它將從頂部加載childCollectionView。最奇怪的是,它只發生在你第一次在parentCollectionView上調用reloadData()。每一次之後,都沒有閃爍,並且不會強迫你到達頂端。當我拋棄reloadData()方法並使用reloadSections/IndexPaths時,它將每次都從頂部加載。

這是怎麼回事?

+0

當你調用'reloadData()'的'childCollectionView'? –

+0

在parentView的'cellForRowAtItem'方法中 –

回答

0

我沒有在parentCollectionView上調用reloadData。相反,我在可見的childCollectionViews上調用reloadData,並將委託/數據源設置爲nil,釋放到已釋放(在prepareForReuse中)的單元中。

這似乎重裝通過reloadData的parentCollectionView()被重繪一切

+0

啊是的。子節點上的reloadData()將只重載那個特定的'UICollectionView'中的項目。在父對象上調用'reloadData()'會加載它所有的子對象。 :) –