我在UICollectionViewCells中放置自定义CABasicAnimation动画。目的是一旦单元格出现在屏幕上,每个单元格的动画将被单独触发。我的方法是实现一个在单元类上设置CABasicAnimation的函数。我从控制器的willDisplayCell调用它。
此方法适用于所有重用的单元格。但是,最初为控制器加载的所有单元格将立即(屏幕外)完成动画,而不是根据动画时序。可能是什么问题?
// Cell
-(void)animate {
[CATransaction begin]; {
// My timed animations (CABasicAnimation)
} [CATransaction commit];
}
// Controller
- (void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath {
[((CustomCell*)cell) animate];
}
答案 0 :(得分:0)
在你的Cell课上试试这个:
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
[self animate];
}
答案 1 :(得分:0)
我能够通过应用以下更改来解决此问题。感觉像黑客,但至少它的作用。
RetailPrice