2010-08-25 4 views
7

Actuellement, j'utilise une interface utilisateur personnalisée pour afficher une vue d'alerte personnalisée afin de lui donner un aspect Apple. Quand je l'enlève, il ne se décolore pas automatiquement, sk j'ai décidé d'utiliser une animation UIView et de changer l'alpha à 0 puis de l'enlever mais cela n'a pas encore fait l'affaire. Voudriez-vous savoir quoi faire?Animation UIWindow

+0

cela devrait fonctionner ... s'il vous plaît poster le code que vous utilisez pour faire l'animation – Abramodj

Répondre

0

Essayez ceci:

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

greyWindow.alpha = 0; 

[UIView commitAnimations]; 
+0

désolé, mais cela ne résout pas le problème, coincé avec Teh même problème – G33kz0r

9

Pour la fenêtre d'arrière-plan fanée utilisé par ma propre classe AlertView personnalisée (semblable à ce qu'il semble que vous faites) J'ai fait un UIWindow personnalisé et l'emportaient sur makeKeyAndVisible, mais vous pouvez aussi faire ce contexte en dehors de la classe:

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