如何可靠地确定UICollectionView布局何时完成动画

So *_* It 7 objective-c uicollectionview

我在找出确定UICollectionView何时完成动画的方法时遇到了问题.

我目前有一个UICollectionView,它使用两个子类流程布局之间的动画 setCollectionViewLayout:animated:

动画看起来很棒,但是,如果用户动画期间选择了一个单元格,我会遇到一些不良行为.

我期待在忽略细胞"选择"通过返回NO通过UICollectionViewDelegate方法collectionView:shouldSelectItemAtIndexPath:-然而-我想不出一个可靠的测试,以查看是否集合视图当前动画.

有任何想法吗?

djg*_*djg 5

尝试检查是否没有动画键。
BOOL isAnimating = myView.layer.animationKeys.count > 0

  • 谢谢 - 有效。有趣的是,我必须检查动画单元上的动画键,而不是 UICollectionView。这意味着迭代可见单元格检查动画。我的最终代码.. `- (BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath { NSArray *visibleCells = [self.myCollectionViewvisibleCells]; for (UICollectionViewCell *visibleCells 中的单元格) { if (cell.layer.animationKeys.count > 0) { return NO; } 返回是;} `(注意。导入 QuartzCore.h 来访问 `layer`) (2认同)