UICollectionView:获取不可见的Cell的indexPath

时间:2015-07-04 11:16:07

标签: ios swift uicollectionview uicollectionviewcell

我有一个UICollectionView有几个单元格 - 视口外总是有一些单元格,所以有一些单元格被重用。

当事件发生时,我想拍摄一个特定的单元格并将其移动到UICollectionView的前面。为了使moveItemAtIndexPath()工作,我需要知道我想要移动的Cell的当前indexPath

当我使用CollectionViewDelegate方法初始化cellForItemAtIndexPath中的单元格时,我将其indexPath保存到作为Cell模型的Object的变量中(不是它的实际对象,只是模型)。然后,当我想移动单元格时,我会查看此变量。

只要单元格可见一次就可以正常工作 - 它似乎只是启动了,即使它始终是CollectionViewData的一部分。

如何确保CollectionViewCell indexPath - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { CGSize size; CGRect bounds = [[UIScreen mainScreen] bounds]; double bWidth = (bounds.size.width/320)* 200 ; // 200 is your cell width which given in xib double bheight = (bWidth/320)* 250 // 250 is your cell height which given in xib; size = CGSizeMake(bWidth, bheight); return size; } ,即使它不可见或尚未显示?

1 个答案:

答案 0 :(得分:1)

如果您知道要在UICollectionView的前面(我假设是最顶层)显示哪些数据(单元格),为什么不直接更新dataSource并重新加载{ {1}}?