2012-06-22 5 views
0

У меня есть два вида, jumpBarPortrait и jumpBarLandscape Я хотел бы оживить между ними, так что я хотел бы, чтобы Portrait исчезал, пока пейзаж исчезает ... До сих пор я могу исчезать один в, но я не знаю, как у другого замирание из ...CATransaction animation fade in fade out 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