2010-08-25 14 views
7

Obecnie używam niestandardowego interfejsu użytkownika, aby wyświetlić niestandardowy widok alertu, aby wyglądał on w stylu Apple. Kiedy go usuwam, nie znika automatycznie, sk Postanowiłem użyć animacji UIView i zmienić alfa na 0, a następnie usunąć, ale to i tak nie wystarczyło. Czy wiedzielibyście, co robić?Animacja UIWindow

+0

To powinno działać ... proszę pisać kod, którego używasz, aby animacja – Abramodj

Odpowiedz

0

Spróbuj tego:

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

greyWindow.alpha = 0; 

[UIView commitAnimations]; 
+0

przepraszam, ale to nie rozwiązuje problemu, zatrzymany z teh sam problem – G33kz0r

9

Na wyblakłym oknie w tle używanej przez moje własne klasy niestandardowej AlertView (podobny do tego, co brzmi jak robisz) Zrobiłem własny UIWindow i overrode makeKeyAndVisible, ale można również zrobić to poza kontekst Klasa:

- (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]; 
}