2010-01-03 4 views
2

Je veux un bouton clignotant. En fait, mon bouton ressembler à ceci:Comment obtenir un bouton clignotant? (deux images alternées)

[redButton setImage:[UIImage imageNamed:@"Button1.png"] forState: UIControlStateNormal]; 
[redButton setImage:[UIImage imageNamed:@"ButtonPressed.png"] forState: UIControlStateHighlighted]; 

Maintenant, je veux changer le Buttonpicture dans l'état normal de chaque seconde button1.png à Button2.png et retour à button1.png et ainsi de suite ... Comment puis-je fais ça?

Merci pour votre aide et désolé pour mon mauvais anglais.

Répondre

12

Vous pouvez changer l'image en programmant un NSTimer:

NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval: 1.0 
             target: self 
             selector: @selector(toggleButtonImage:) 
             userInfo: nil 
             repeats: YES]; 

La méthode suivante change l'image (vous avez aussi besoin d'une variable d'instance bool pour maintenir votre état de bascule)

- (void)toggleButtonImage:(NSTimer*)timer 
{ 
    if(toggle) 
    { 
     [test setImage:[UIImage imageNamed:@"Button1.png"] forState: UIControlStateNormal]; 
    } 
    else 
    { 
     [test setImage:[UIImage imageNamed:@"ButtonPressed.png"] forState: UIControlStateNormal]; 
    } 
    toggle = !toggle; 
} 
-1

Est-il impossible d'utiliser un GIF animé?

+0

Non parce que vous peut juste utiliser .png – Flocked