2011-11-30 43 views
0

我试图切换视图(XIB),同时通过黑色渐变。我一直在使用UIView动画来做这件事,我想保持这种状态。问题在于,无论何时我切换视图,我都不会通过黑色消失,它更多的是直接淡入到下一个XIB。通过黑色切换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

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

取而代之,您应该将视图始终保持在屏幕上,这是空的并具有黑色背景色,并且位于view1或view2后面。

+0

不会设置我的UIWindow的颜色解决这个问题?但它不是问题的颜色,而是交换视图的实际动画。我在我的帖子中解释了这个问题。 –

+0

我摆弄了一下代码,它似乎能够工作,所以非常感谢! –