2012-03-26 45 views
0

褪色視圖控制器在衰落中從黑色視圖控制器,我做內viewDidLoad以下:的iOS - 嘗試在

  • 與黑色背景創建UIView;
  • 給予UIView的α值爲1.0f;
  • UIView作爲[self view]的子視圖添加;
  • 通過animateWithDuration將黑色UIView褪色,方法是將其alpha值更改爲0.0f;和
  • [[self view] subviews]

去除黑UIView往往不是,這個工作按計劃進行。然而,有時候,我會在繪製黑色UIView之前看到最初隱藏的視圖控制器。

有沒有辦法避免這種情況?有沒有更好的方法來放置此代碼比viewDidLoad

非常感謝

+1

爲什麼不只是設置'self.view.alpha'? – CodaFi 2012-03-26 05:06:16

回答

0

是,添加的方法的loadView視圖和做viewDidLoad中或viewDidAppear實際的動畫。或者像上面的評論者所說的那樣,只是使用視圖alpha。

0

我會創造我想要隱藏在UIViewControllerUIView的筆尖文件,然後鏈接到通過一個IBOutlet

@interface SomeViewController: UIViewController 
{ 
     IBOutlet UIView *blackView; 
} 

然後在UIViewController-(void) viewDidLoad;方法,我會做以下

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    // Fade the opacity of blackView over 1 second, 
    // then remove it from the view controller. 
    [UIView animateWithDuration:1 
        delay:0 
       options:UIViewAnimationOptionCurveEaseOut 
      animations:^{ 
       blackView.layer.opacity = 0; 
      } 
      completion:^(BOOL finished) { 
       // This line prevents the flash 
       blackView.layer.opacity = 0; 
       [blackView removeFromSuperview]; 
      }]; 
}