切换XIB褪色穿过黑色?

时间:2011-11-30 20:36:20

标签: ios animation uiviewanimation

我试图在淡入黑色时切换视图(XIB)。我一直在使用UIView动画这样做,我想保持这种方式。问题是每当我切换视图时,我都不会褪色,而是直接淡化到下一个XIB。

我如何正确地做到这一点?

这是我的代码(在我的情况下是self.view = view1.view,但也许我不应该这样做)

[self.view setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:1.0]];
    [UIView animateWithDuration:0.4 
                     animations:^{
                         [view1.view setAlpha:0];
                     }
                     completion:^(BOOL finished){
                         [self.view.superview addSubview:view2.view];
                         [view2.view setAlpha:0];
                         [view2.view setFrame:CGRectMake(0, 0, 320, 480)];
                         [UIView animateWithDuration:0.4 
                                          animations:^{
                                              [view2.view setAlpha:1];  
                                          }
                                          completion:^(BOOL finished){
                                              [view1.view removeFromSuperview];
                                          }];

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你的问题是self.view的背景颜色是该视图的 part 。淡出视图时,它也会淡化背景。

相反,你应该放置一个你一直留在屏幕上的视图,它是空的,背景为黑色,位于view1或view2后面。