He estado tratando de encontrar una forma decente para animar sin problemas un cambio de tamaño de fotograma en un UILabel, sin un extraño reinicio de salto inicial. Lo que pasa por defecto es que cuando hago algo como esto:Marco de animación de UILabel sin problemas
// Assume myLabel frame starts as (0, 0, 100, 200)
[UIView beginAnimations:@"myAnim" context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:1.0];
myLabel.frame = CGRectMake(0.0, 0.0, 50, 100);
[UIView commitAnimations];
consigo una animación fluida con la etiqueta, embargo la forma en que lo hace es que toma la capa de imagen vuelve a dibujar para el tamaño de destino de la etiqueta y estira el contenido para que se ajuste a la corriente y luego se anima al rect de destino. Esto termina con un salto muy extraño en la pantalla de texto. Aquí hay dos imágenes que muestran el aspecto pre-animación, y luego justo después comienza la animación:
Pre-Animación
Post-Animación
he tratado de usar sólo el capa para animar esto, pero todavía tengo los mismos problemas.
Entonces la pregunta es, ¿cómo puedo evitar esto?
Gracias por cualquier ayuda,
de Scott
Es una vieja pregunta, pero estoy lucha con exactamente el mismo problema. De alguna manera es ilógico. Según entiendo los métodos de animación, deberías poder animar la mayoría de las propiedades en una clase UIView. Pero ¿por qué la propiedad de marco de un UILabel se comporta de manera diferente cuando se anima que una subclase UIView normal? Parece que la clase UILabel está ignorando la animación para el tamaño y solo anima el cambio de ubicación. Lo cual crea una animación bastante extraña. Agradecería si alguien pudiera ayudarme con esto. – Chris