动画需要获取当前的 Cell ,下面的调用在 viewDidLoad 中,有时候返回 nil,有时候成功。
UICollectionView *cell = (UICollectionView*)[self.collectionView cellForItemAtIndexPath:indexPath];
简单的解决方法,是在调用之前添加
[self.collectionView layoutIfNeeded];
原因是,根据苹果开发者文档:
UICollectionView如果 cell 不是 visible 的 或者 indexPath 超过有效范围,就返回 nil。
在 iOS 10 上 还有一种解法:
[self.collectionVew setPrefetchingEnabled: NO];
但这种就牺牲了性能。
转自:StevenC
网友评论