textos - iOS-Transición/Animación de cambio de color suave
como quitar animaciones en power point (3)
Quiero tener una transición de color suave que atraviese todo el espectro (es decir, rojo, azul, verde, amarillo, naranja, etc.)
También desea poder tener transiciones suaves de colores en un espectro específico (es decir, todos los rojos).
¿Hay algoritmos simples / funciones / fórmulas recursivas que puedan ayudar a simplificar este proceso?
Una forma muy sencilla de lograr esto sería usar un bloque de animación UIView.
[UIView animateWithDuration:1.0 animations:^{
view.backgroundColor = [UIColor redColor];
}];
Esto se interpolará entre el color de fondo anterior de la view
y el rojo en el transcurso de 1 segundo.
Swift :
UIView.animate(withDuration: 1.0) {
view.backgroundColor = .red
}
Una forma posible de hacerlo es aplicar una animación de color de fondo en la capa de la vista.
Ahora para pasar por todo el espectro tienes que trabajar en combinaciones de tres colores.
La mejor manera de lograr esto es usar ''Tono''.
[[UIColor alloc] initWithHue: 135 / 360.0f saturación: 1 brillo: 1 alfa: 1]
Ahora tiene que iterar para todos los valores de Tono y obtendrá la transición suave que abarca todo el espectro.
Código de muestra:
- hacer una variable local
int _currentColorHue = 0;
- llamada recursiva para cambiar el color de fondo.
- (void) animateMyView {
[UIView animateWithDuration:0.01 animations:^{ self.view.layer.backgroundColor = [[UIColor alloc] initWithHue:_currentColorHue/360.0f saturation:1 brightness:1 alpha:1].CGColor; } completion:^(BOOL finished) { _currentColorHue++; if (_currentColorHue > 360) { _currentColorHue = 0; } [self animateMyView]; }]; }
Puedes detener la animación según tu uso.
Use el siguiente código para la transición de color en iOS, le ofrece varias opciones configurables:
1) Retraso antes de iniciar la animación.
2) Devolución de llamada al finalizar la animación
3) Opciones de animación.
[UIView animateWithDuration:1.0 delay:0.2 options:0 animations:^{
view.backgroundColor = [UIColor greenColor];
} completion:^(BOOL finished)
{
NSLog(@"Color transformation Completed");
}];
Para una descripción detallada de diferentes animaciones por favor visite:
UIView Tutorial para iOS: Cómo usar la animación UIView