2012-08-09 7 views
5

Ich habe eine UIButton in einem meiner ViewController mit drei verschiedenen Statusbildern (normal, hervorgehoben und ausgewählt). Wenn ich diese Taste drücke, wird sie hervorgehoben und wenn ich sie loslasse, ausgewählt. Ich möchte eine Animation machen, die das hervorgehobene Bild der Taste in 4 Sekunden mit einem FadeIn oder ähnlichem ändert.Hinzufügen von Auswahlanimation zu einer UIButton

Irgendwelche Vorschläge?

Antwort

2

Sie müssen Ihre eigene UIButton Unterklasse registrieren und Sie müssen wahrscheinlich setSelected und setHighlighted mit Ihrem benutzerdefinierten Animationscode überschreiben. Die sicherere Wette wäre, die UIControl direkt zu subklassen und diese Selektoren neu zu implementieren, so dass Sie kein UIButton spezifisches Vermächtnis haben.

9

UIView transitionWithView Versuchen Sie, indem zuerst die normalen und ausgewählt Bilder zu UIButton Einstellung, und dann in dem Action-Handler animiert die Änderung:

[UIView transitionWithView:self.addListButton 
        duration:0.3 
        options:UIViewAnimationOptionTransitionCrossDissolve 
       animations:^{ 
        [self.addListButton setSelected:YES]; 
       } completion:nil]; 

Ich wollte nicht den Zustand der UIButton ändern ich änderte so nur das normale Bild in dem Animationsblock:

[self.addListButton setImage:[UIImage imageNamed:@"icon-addbutton.png"] 
    forState:UIControlStateNormal]; 
Verwandte Themen