我有一个 UICollection 视图,其中包含一堆单元格,当用户按下一个 id 时,它喜欢让它动画一点。我遇到的问题是动画没有持续时间竞争。就像它只是一起忽略了动画。
这是集合视图中的代码。Cells 只是我正在使用的单元格的集合,我尝试过这样做,cellForItemAtIndexPath:
但我无法在单元格内调用该方法。所以我创建了一个数组,并在创建每个单元格时将它们放入其中。
-(void)collectionView:(UICollectionView *)collectionView didHighlightItemAtIndexPath:(NSIndexPath *)indexPath{
NSLog(@"Highlighted");
[[cells objectAtIndex:indexPath.row] shrinkCell:YES];
}
这是来自 cell.m 内部的代码
-(void)shrinkCell:(BOOL)shrink{
NSLog(@"Shrink");
if (shrink) {
[UIView animateWithDuration:1.0
delay:0.5
options: UIViewAnimationOptionCurveEaseIn
animations:^{
self.bg.frame = CGRectOffset(self.bg.frame, 100, 100);
}
completion:nil];
}
}
所以只是重申一下。单元格确实移动,只是没有动画。有什么想法吗?谢谢!