2012-06-22 5 views
0

나는 두 가지보기, jumpBarPortrait 및 jumpBarLandscape 두 가지 사이에 애니메이션을 적용하고 싶습니다. 다른 말로 표현하면 풍경이 희미 해지는 동안 페이드 인을 원합니다 ... 지금까지 할 수 있습니다.CATransaction 애니메이션 페이드 아웃 uiviews

은 현재의 약자로이 내 코드입니다 ..

[CATransaction begin]; 
CATransition *animation = [CATransition animation]; 
animation.type = kCATransitionFade; 
animation.duration = animationSpeed; 

[self.view insertSubview:jumpBarContainerPortrait belowSubview:actionTabBar]; 

[[jumpBarContainerPortrait layer] addAnimation:animation forKey:@"Fade"]; 
[CATransaction commit]; 

어떤 도움을 크게 감상 할 수있다 ... 하나 퇴색하지만 난 다른 페이드를 가지고하는 방법을 잘 모르겠습니다.

+0

[CATransaction flush]를 잊지 마세요. –

답변

3

당신이이 방법을 살펴 보았다

 [UIView transitionFromView:jumpBarContainerPortrait 
          toView:jumpBarContainerLandscape 
          duration:0.5 
          options:UIViewAnimationOptionTransitionCrossDissolve 
         completion:^(BOOL finished) {}]; 

을 또는 fromView 플립/toView로 전환하십시오.

0

당신은 페이드하는 뷰를 삽입하지만보기가 페이드 아웃 제거, 이것을 시도 ...

[CATransaction begin]; 
CATransition *animation = [CATransition animation]; 
animation.type = kCATransitionFade; 
animation.duration = animationSpeed; 

[self.view insertSubview:jumpBarContainerPortrait belowSubview:actionTabBar]; 
[[jumpBarContainerPortrait layer] addAnimation:animation forKey:@"Fade"]; 

[fadeOutView removeFromSuperview]; 
[[fadeOutView layer] addAnimation:animation forKey:@"Fade"]; 

[CATransaction commit]; 
+1

hrmmm ... 이건 전혀 애니메이션이 아니 었어 ... (전혀 아무 의미가 없다는 의미) – HurkNburkS

관련 문제