2010-08-25 101 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]; 
}