2011-01-13 9 views
1

매우 간단한 플립 애니메이션을 구현하고 있지만 플립이 없습니다. 두 뷰를 포장 (워드 프로세서)UIViewAnimationOptionTransitionFlipFromRcode가 Xcode에 의해 인식되지 않습니다.

[UIView transitionWithView:containerView 
      duration:0.2 
      options:UIViewAnimationOptionTransitionFlipFromLeft 
      animations:^{ [fromView removeFromSuperview]; [containerView addSubview:toView]; } 
      completion:NULL]; 

: 나는 템플릿으로 문서에서 예제를 사용하고

애플은 이제 애니메이션을 위해 블록을 사용하고이이 걸릴 접근 방식 것이 좋습니다 컨테이너 내에서 전환하고 싶다. 나는 이것을 좋아한다.

UIView *container = [[UIView alloc] initWithFrame:target]; 
[self.view addSubview:container]; 
[container addSubview:productImage]; 

UIView *background = [[UIView alloc] initWithFrame:target]; 
[background setBackgroundColor:[UIColor darkGrayColor]]; 
[background setAlpha:0.1f]; 

[UIView transitionWithView:container 
        duration:0.8 
        options:UIViewAnimationOptionTransitionFlipFromRight 
       animations:^{ 
        [[[container subviews] objectAtIndex:0] removeFromSuperview]; 
        [container addSubview:background]; 
       } 
       completion:NULL]; 

두 이상한 일들이 일어날 : 아무런 변화가 없습니다, 컨테이너 (유형있는 UIImageView에) productImage은 다음 배경보기로 스왑을 표시합니다. 애니메이션이 없습니다. 두 번째 것은이 보통 오타가 아니라고 믿고 나를 이끄는 것입니다

는, 그것이이 강조되지 않고, 자동 완성하지 않습니다

UIViewAnimationOptionTransitionFlipFromRight 

이 엑스 코드 인식하지 못하는 것이 었습니다. 엑스 코드는 내가 사용하는 경우 사용되지 않는 것을 할 것입니다 : 다음 모든 4.2로 설정하는 것 등을 내 SDK 버전을 확인하기 시작

UIViewAnimationTransitionFlipFromRight //i.e. without the Option part 

, 엑스 코드는 버전 3.2.5입니다, 모두 목표 및 프로젝트 설정 빌드있다 배포 대상을 4.2로 설정합니다.

무엇이 여기에 있습니까?

훈련 된 눈 세트가 도움이되기를 바랍니다. :) 미리 감사드립니다. 당신이 블록으로 가고있다 (모든 사람이 그들과 함께가는 시작해야합니다) 경우

답변

-1

이 코드는 당신에게 도움이 될 것입니다

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.5]; 


UIViewAnimationTransition transition = UIViewAnimationTransitionFlipFromRight; 
[UIView setAnimationTransition:transition forView:[self.navigationController view] cache:NO]; 


[UIView commitAnimations]; 

건배

+0

안녕하세요 Aditya 및 감사합니다. 블록에서 그렇게하는 방법? – RickiG

+0

응용 프로그램 시작시이 애니메이션을 사용한다고 가정하고이 코드를 메서드에 넣은 다음 실행시이 메서드를 다음과 같이 호출하여 호출하십시오. [NSTimer scheduledTimerWithTimeInterval : 2.0 대상 : 셀렉터 : @selector (initTab) userInfo : 자기 반복 : 아니오]; inittab은 코드의 애니메이션 블록을 포함하는 메소드가 될 것입니다. – Aditya

+2

왜 그렇게 생각합니까? Ricki가 새로운 블록 API를 사용하려고한다고 생각합니다. 이것은 애니메이션을하는 오래된 방법입니다. Apple의 설명서에 따르면 beginAnimations : context :는 새로운 iOS 4 응용 프로그램에서는 피해야합니다. 그러나 나는 해결책이 없다. 나도 똑같은 문제가있다. –

관련 문제