C'è un modo per animare la proprietà textColor di un UIButton? Ho trovato alcune soluzioni per l'animazione del colore del testo UILabel, ma non ne ho visto nessuno per UIButton.Animazione del colore del testo UIButton
risposta
NSTimer è assolutamente non va bene come strumento di animazione, né deve essere utilizzato per la misurazione del tempo in generale in cui è necessaria la precisione (frame rate) Questo blog post esemplifica perfettamente il mio posizione su cosa fare sulle proprietà UILabel non animabili, che dovrebbero essere inviate al server di rendering attraverso CA, non un NSTimer. Invece di UILabel, puoi utilizzare o avvolgere CATextLayer e animare la sua proprietà foregroundColor
nel blocco di animazione standard.
Ovviamente si avrebbe bisogno di utilizzare
[UIButton setTitleColor:[UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0] forState:UIControlStateNormal];
Per quanto riguarda in realtà ottenerlo per animare e cambiare colore nel tempo, avresti bisogno di creare un'istanza di NSTimer e utilizzare il paramater @selector per puntare a un metodo specifico da eseguire. Ogni volta che il timer viene eseguito, attiva il metodo che cambia il colore di UIButton.
[NSTimer scheduledTimerWithTimeInterval:2.0f
target:self
selector:@selector(updateCounter:)
userInfo:nil
repeats:YES];
Verificate anche: http://servin.com/iphone/iPhone-Timers-and-Animated-Views.html
concordato. +1 per il collegamento – bkbeachlabs
Si noti che questo non sostituisce una buona animazione CA. Gli oggetti UIColor potrebbero non essere animabili, ma gli oggetti CGColor lo sono assolutamente. Se si potesse sottoclasse UILabel, allora si potrebbe implementare il proprio rendering del testo e utilizzare le animazioni CA inerenti. – CodaFi
Questo non è realmente un'animazione, ma che avrebbe funzionato.
Creare un timer con qualsiasi frequenza con cui si desidera animare i colori.
Avere quel timer chiama un metodo, changeColorOnButton
ogni volta che si spara.
[NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(changeColorOnButton:) userInfo:nil repeats:YES];
Creare una matrice di colori, colorsArray
(o organizzare i colori prima del tempo, o aggiungere un gruppo ad un array e shuffle loro di ripartire le probabilità. Creare un int, intForColorInArray
.
Nel metodo changeColorOnButton , fare qualcosa di simile:.
- (void) changeColorOnButton:(UIButton *) button {
UIColor *nextColor = [colorsArray objectAtIndex:intForColorArray];
[button.titleLabel.setTextColor:nextColor];
intForColorArray = (intForColorArray +1) % [colorsArray count];
}
ha preso il metodo timer da @Stuartsoft. Credito in cui è dovuto il credito. – bkbeachlabs
Si risponde molto bene allo here. Praticamente utilizza questo ragazzo pratico: [transizione UIViewWithView: durata: opzioni: animazioni: ^() completamento: ^()];
Usa di transizione con vista
[UIView transitionWithView:backButton
duration:0.5f
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
[backButton setTitleColor:[_peacock lighten:d.primary] forState:UIControlStateNormal];
}
completion:^(BOOL finished){
}];
Funziona alla grande.Inoltre, puoi usare una vista genitore come obiettivo principale e quindi animare tutte le viste secondarie nel modo desiderato nel blocco 'animazioni' – Peterdk
È possibile utilizzare due pulsanti (o etichette, ecc) con colori diversi che messi a stessa posizione:
button1 = UIButton(frame: frame)
button2 = UIButton(frame: frame) // same frame
button1.setTitleColor(UIColor.redColor(), forState: .Normal) // red
button2.setTitleColor(UIColor.blueColor(), forState: .Normal) // blue
Dopo di che si può raggiungere l'animazione di colori per animazione di transizione di button2:
UIView.animateKeyframesWithDuration(
1.0, delay: 0, options: [.Autoreverse, .Repeat],
animations: {
UIView.addKeyframeWithRelativeStartTime(0.0, relativeDuration: 0.5, animations: {
self.button2.alpha = 1.0
})
UIView.addKeyframeWithRelativeStartTime(0.5, relativeDuration: 0.5, animations: {
self.button2.alpha = 0.0
})
}, completion: nil)
- 1. Animazione del colore del testo
- 2. Come impostare il colore del testo del titolo di UIButton?
- 3. UIButton titolo del testo troncato
- 4. Modifica del colore del carattere UIButton a seconda dello stato
- 5. UIButton con colore del bordo personalizzato, iPhone
- 6. Rendi il colore del link uguale al colore del testo senza conoscere il colore del testo?
- 7. UIbutton lampeggiante animazione
- 8. UIButton ridimensiona con animazione
- 9. Modifica del colore del testo in Java
- 10. Ciclo continuo Animazione del cambio di colore del testo tramite CSS3
- 11. Modifica del colore di sfondo e del colore del testo in una casella di testo
- 12. Animazione immagine sfondo UIButton
- 13. Assegnazione del colore del testo al testo in edittext
- 14. animazione della dimensione del testo di TextView
- 15. Come posso cambiare il colore del titolo UIButton?
- 16. Modifica colore sfondo UIButton
- 17. Come posso cambiare il colore del testo con jQuery?
- 18. Cambia il colore del testo di UISegmentedControl
- 19. Android l'attività di prelievo colore del testo
- 20. Come impostare il colore del testo DataGridTextColumn?
- 21. Android: Alterna colore del testo di ToggleButton
- 22. css - segnaposto colore del testo su Firefox
- 23. Cambia il colore del testo TimePicker
- 24. Impossibile cambiare il colore del testo UILabel
- 25. Colore/aspetto del testo corretto in AlertDialog
- 26. Cambiare il colore del testo in Eclipse
- 27. Imposta il colore del testo globale?
- 28. Cambia il colore del testo in MoreNavigationController
- 29. Colore di sfondo del testo in SVG
- 30. pdf.js: Ottieni il colore del testo
Il collegamento è interrotto, sarebbe un buon esempio ... – user1506145
Il collegamento non è interrotto ... – CodaFi