0

私にはjumpBarPortraitとjumpBarLandscapeの2つのビューがあります。この2つの間でアニメーション化したいので、つまり、ポートレートをフェードインさせ、ランドスケープをフェードアウトさせます...これまでのところ、1つをフェードインできますが、方法がわかりません。もう一方をフェードアウトさせます...

これは現在の私のコードです。

[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];

どんな助けでも大歓迎です。

4

2 に答える 2

3

この方法を見たことがありますか...

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

または、fromView/toViewを反転して元に戻ります。

于 2012-06-22T04:01:22.177 に答える
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];
于 2012-06-22T02:54:15.223 に答える