Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 翻转UICollectionViewCell会导致其他单元格翻转_Ios_Objective C_Xcode - Fatal编程技术网

Ios 翻转UICollectionViewCell会导致其他单元格翻转

Ios 翻转UICollectionViewCell会导致其他单元格翻转,ios,objective-c,xcode,Ios,Objective C,Xcode,我正在使用以下动画翻转UICollectionViewCell,以显示单元格“背面”的确认视图: [UIView transitionFromView:cell.cellContentWrap toView:cell.confirmationView duration:1.0 options:UIViewAnimationOptionTransitionFlipFromRight

我正在使用以下动画翻转UICollectionViewCell,以显示单元格“背面”的确认视图:

[UIView transitionFromView:cell.cellContentWrap
                    toView:cell.confirmationView
                  duration:1.0
                   options:UIViewAnimationOptionTransitionFlipFromRight
                completion:^(BOOL finished){
 }
 ];

完成后,我注意到collection视图中每8个单元格都会显示confirmation视图。精神崩溃。思考为什么会发生这种情况?我尝试在collection视图上调用reloadData,并为该单元格重新加载ItemSatinDexpath。。。UICollectionViews/UICollectionViewCells和/或其相应的动画我缺少什么?

我对集合视图的使用不多,但它们使用与表视图相同的单元重用设计

当一个收集单元滚动到屏幕外时,它会被放入一个重用队列中,以备以后使用。然后,当系统需要一个新的集合视图单元时,它会从重用队列(如果有)中拉出一个,并使用它,而不是创建一个新的集合视图单元

如果你已经搞乱了你的单元格的视图层次结构,这些改变将会持续。每次该单元是从重用队列中拉出的单元时,它都会切换视图

collectionView:cellForItemAtIndexPath:
方法中,调用
dequeueReusableCellWithReuseIdentifier:forIndexPath:
,您应该强制它的视图层次结构回到默认状态(切换子视图,以便显示单元格的cellContentWrap视图而不是确认视图,但不显示动画).

添加他必须使用
prepareforeuse
重置他的单元格:-)他不必使用prepareforeuse。我通常不这样做,而是在CellForRowatineXpath(或本例中的CellForItemaIndeXpath)中重新配置我的单元格。如果您有一个复杂的单元格,并且希望卸载控制器,这是一种方法,而且所有单元格代码都在单元格本身中。更干净的代码。更好的可重用性。