如何在UICollectionViewCell的背面放置视图

时间:2013-01-05 13:31:36

标签: ios6 uicollectionview

在我的应用程序中,有一些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 ......

1 个答案:

答案 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");
              }

          }
    ];    
}

如果我能帮助告诉我,我希望这可以帮助别人。

欢呼声