2011-11-30 88 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

我擺弄了一下代碼,它似乎能夠工作,所以非常感謝! –