¿Hay alguna manera de animar la propiedad textColor de un UIButton? He encontrado algunas soluciones para la animación en color de texto UILabel, pero no he visto ninguna para UIButton.Animación de color de texto UIButton
Respuesta
NSTimer hay absolutamente ninguna buena como una herramienta de animación, ni debe ser utilizado para la hora normal en general donde se necesita precisión (velocidad de cuadro) Esta blog post ejemplifica perfectamente mi posición sobre qué hacer con las propiedades UILabel no animables, que deberían enviarse al servidor de renderización a través de CA, no a través de un NSTimer. En lugar de UILabel, puede usar o ajustar CATextLayer y animar su propiedad foregroundColor
en el bloque de animación estándar.
Es obvio que tendría que usar
[UIButton setTitleColor:[UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0] forState:UIControlStateNormal];
En cuanto a conseguir realmente a animar y cambiar de color con el tiempo, lo que se necesita para crear una instancia de NSTimer y utilizar el parámetro de @selector que apuntar a un método específico para ejecutar. Cada vez que se ejecuta el temporizador, desencadena el método que luego cambia el color de su UIButton.
[NSTimer scheduledTimerWithTimeInterval:2.0f
target:self
selector:@selector(updateCounter:)
userInfo:nil
repeats:YES];
También puedes ver: http://servin.com/iphone/iPhone-Timers-and-Animated-Views.html
De acuerdo. +1 para el enlace – bkbeachlabs
Tenga en cuenta que esto no reemplaza a una buena animación de CA. Los objetos UIColor pueden no ser animables, pero los objetos CGColor sí lo son. Si pudiera subclase UILabel, entonces podría implementar su propia representación de texto y usar las animaciones CA inherentes. – CodaFi
Esto no es realmente una animación, pero funcionaría.
Crea un temporizador con la frecuencia que quieras animar los colores.
Tienen ese temporizador llamar a un método, changeColorOnButton
cada vez que se dispara.
[NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(changeColorOnButton:) userInfo:nil repeats:YES];
Crear una variedad de colores, colorsArray
(ya sea organizar los colores antes de tiempo, o añadir un montón a una matriz y mezclarlas para seleccionar al azar. Crear un int, intForColorInArray
.
En el método changeColorOnButton , hacer algo como:.
- (void) changeColorOnButton:(UIButton *) button {
UIColor *nextColor = [colorsArray objectAtIndex:intForColorArray];
[button.titleLabel.setTextColor:nextColor];
intForColorArray = (intForColorArray +1) % [colorsArray count];
}
tomó el método del temporizador de @Stuartsoft. Crédito a quien crédito merece. – bkbeachlabs
Esto se responde muy bien here. Básicamente utiliza este tipo práctico: [UIView transitionWithView: duration: options: animations: ^() completion: ^()];
Uso de transición con vistas
[UIView transitionWithView:backButton
duration:0.5f
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
[backButton setTitleColor:[_peacock lighten:d.primary] forState:UIControlStateNormal];
}
completion:^(BOOL finished){
}];
Funciona muy bien.Además, puede usar una vista principal como destino principal y luego animar todas las vistas secundarias de la manera que desee en el bloque 'animaciones' – Peterdk
Se pueden utilizar dos botones (o etiquetas, etc.) con diferentes colores que colocó en la misma posición:
button1 = UIButton(frame: frame)
button2 = UIButton(frame: frame) // same frame
button1.setTitleColor(UIColor.redColor(), forState: .Normal) // red
button2.setTitleColor(UIColor.blueColor(), forState: .Normal) // blue
Después de que se puede llegar a la animación de colores por animación de transición de 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. Animación de color de texto
- 2. título UIButton color del texto
- 3. UIButton color de selección
- 4. Implementar animación en UIButton
- 5. Animación de imagen de fondo de UIButton
- 6. Cambiar color de texto de UITextView con animación
- 7. Agregar animación de selección a un UIButton
- 8. Color de fondo de Iphone UIButton
- 9. Cómo quitar UIButton color de fondo seleccionado?
- 10. Cambiar el color de fondo UIButton
- 11. UIButton con color de borde personalizado, iPhone
- 12. UIButton no interactuando durante la animación
- 13. UIButton cambiar el tamaño con la animación
- 14. Javascript color Animación
- 15. Animación de iPhone UIView Desactiva la subvista UIButton
- 16. Animación del botón de compra de UIButton AppStore
- 17. Animación de color de forma en Android
- 18. UIButton texto del título truncado
- 19. Obtener UIButton texto del emisor
- 20. Animación de texto Glitchy en jQuery
- 21. jQuery animación de texto carga
- 22. ¿Cómo puedo cambiar el color del título de UIButton?
- 23. Cómo establecer el color de un UIButton adentro (no color de fondo)
- 24. animación del tamaño de texto de TextView
- 25. UIModalTransitionStylePartialCurl que causa el texto UIButton para animar
- 26. jQuery: color de texto animado
- 27. Android ListView Color de texto
- 28. Animación al cambiar la vista de texto
- 29. Animación de texto suave (Marquee) con WPF
- 30. Jquery hover - Cómo hacer animación de color de fondo
El enlace está roto, sería bueno con un ejemplo ... – user1506145
El enlace no está roto ... – CodaFi