在我的应用程序中,有一些UICollectionViewCells显示一些信息。
当用户点击其中一个按钮时,我用这段代码翻转了敲击的单元格:
UICollectionViewCell* cell = [collectionView cellForItemAtIndexPath:indexPath];
[UIView animateWithDuration:1.0
delay:0
options:(UIViewAnimationOptionAllowUserInteraction)
animations:^
{
NSLog(@"starting animation");
[UIView transitionFromView:cell.contentView
toView:cell.contentView
duration:.5
options:UIViewAnimationOptionTransitionFlipFromRight
completion:nil];
}
completion:^(BOOL finished)
{
NSLog(@"animation end");
}
];
细胞翻转后(正确),细胞完全变白。
两个问题是: - 为什么翻转后细胞会变白。它不应该显示原始信息,因为fromView等于toView? - 在单元格背面显示不同内容的最佳方法是什么。我想UICollectionViewCell没有链接cell.contentViewBack ......
答案 0 :(得分:1)
你现在可能有这个,但是,
不确定这是否是“最佳”方式,我通过创建自定义UICollectionViewCell,在自定义单元格中有2个UIImageViews,并在动画中定位这些视图来实现这一点(这仅适用于您这就是你想要在你的细胞中拥有的一切 - 可能有所帮助,也可能没有,但是,无论如何)
创建新的UICollectionViewCell类(我的名字叫做CardCVCell) 在CardCVCell.h中输入你的UIImageView出口
@property (strong, nonatomic) IBOutlet UIImageView *cardImage;
@property (strong, nonatomic) IBOutlet UIImageView *cardBackImage;
我使用了故事板 - 在那里我输入'CardCVCell'作为我场景中Collection View中单元格的自定义类。
在我的View Controller中,我有上面的代码,但我在自定义单元格中使用UIImageViews进行转换中的视图(注意你必须将UICollectionViewCell转换为自定义类
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
// animate the cell user tapped on
CardCVCell *cell = (CardCVCell *)[collectionView cellForItemAtIndexPath:indexPath];
[UIView transitionFromView:cell.cardBackImage
toView:cell.cardImage
duration:.5
options:UIViewAnimationOptionTransitionFlipFromRight
completion:^(BOOL finished)
{
if (finished) {
NSLog(@"animation end");
}
}
];
}
如果我能帮助告诉我,我希望这可以帮助别人。
欢呼声