2013-01-05 1 views
0

내 앱에는 몇 가지 정보가 표시되는 UICollectionViewCell이 있습니다. 사용자가 그 중 하나의 버튼을 탭UICollectionViewCell의 뒷면에 뷰를 두는 방법

는 I 코드의 조각으로 태핑 셀 플립 : 셀 플립

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

후 (정확하게 않는 임) 셀 completly 백색이다.

약 두 가지 질문은 다음과 같습니다. - 플립 후 셀이 흰색 인 이유는 무엇입니까? fromView가 toView와 같으므로 원래 정보를 표시하면 안됩니까? - 셀 뒤쪽에 다른 콘텐츠를 표시하는 가장 좋은 방법은 무엇입니까? 내가 일이있어,이 그것을 할 수있는 '최저'방식 인 경우

답변

1

당신이 확실하지

을 지금이있을 수 있지만 ... UICollectionViewCell 뭔가 링크 cell.contentViewBack이없는 가정 커스텀 셀에 UIImageViews 2 개를 가지고있는 커스텀 UICollectionViewCell을 생성하고, 애니메이션에서 그러한 뷰를 목표로 삼습니다 (이것은 셀에 넣기를 원하는 모든 것, 도움이 될지도 모르는 경우도 있습니다)

새로운 UICollectionViewCell 클래스 만들기 (내 CardCVCell) CardCVCell.h에서 UIImageView 콘센트에 넣어

@property (strong, nonatomic) IBOutlet UIImageView *cardImage; 
@property (strong, nonatomic) IBOutlet UIImageView *cardBackImage; 

저는 스토리 보드를 사용했습니다. 거기에 'CardCVCell'을 내 장면의 콜렉션 뷰에있는 셀의 사용자 정의 클래스로 입력했습니다.

난 당신이 위의있는 코드가 그 장면에 대한 내보기 컨트롤러에서

,하지만 난 전환의 전망에 대한 사용자 지정 셀에 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"); 
       } 

      } 
    ];  
} 

는 내가 알려 도울 수 있다면이, 당신을 다른 사람을 도움하지 않을 경우 바랍니다.

환호

나는 역의 카드 게임에 필요한 것을 정확히
+0

. 당신이 craigk 감사합니다. 나는 당신을 위해 투표 :) –

+0

이것은 훌륭한 해결책입니다. 하지만 한 가지 질문이 있습니다. 어떤 시각이 현재 앞에 있는지 어떻게 알 수 있습니까? (상태를 유지하기 위해 데이터 구조를 만들어야합니까?) –

+0

UIViewAnimationOptions.ShowHideTransitionViews가 핵심입니다. –

관련 문제