2010-08-25 98 views
7

我目前使用自定義UIWindow來顯示自定義警報視圖,使其看起來像蘋果風格。當我刪除它時,它不會自動淡入淡出,我決定使用UIView動畫並將alpha更改爲0,然後將其刪除,但這仍然沒有成功。你們會知道該怎麼辦?UIWindow動畫

+0

這應該工作......請發表您使用的是使動畫 – Abramodj 2010-08-25 12:17:57

回答

0

試試這個:

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:2.0]; 
[UIView setAnimationBeginsFromCurrentState:YES]; 

greyWindow.alpha = 0; 

[UIView commitAnimations]; 
+0

遺憾的代碼,但這並沒有解決問題,堅持與德同樣的問題 – G33kz0r 2010-08-26 07:09:34

9

對於由我自己的自定義AlertView類(類似這聽起來像你正在做的)使用褪色的背景窗口,我做了一個自定義一個UIWindow和推翻makeKeyAndVisible,但你也可以做這個類的外面方面:

- (void)makeKeyAndVisible 
{ 
    self.backgroundColor = [UIColor clearColor]; 
    self.alpha = 0; 

    [UIView beginAnimations: @"fade-in" context: nil]; 

    [super makeKeyAndVisible]; 

    self.alpha = 1; 

    [UIView commitAnimations]; 
} 

- (void)resignKeyWindow 
{ 
    self.alpha = 1; 

    [UIView beginAnimations: @"fade-out" context: nil]; 

    [super resignKeyWindow]; 

    self.alpha = 0; 

    [UIView commitAnimations]; 
}