Я пытался найти достойный способ плавно анимировать изменение размера кадра на UILabel без странной перерисовки начального прыжка. По умолчанию, когда я делаю что-то вроде этого:
// 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];
Я получаю плавную анимацию с меткой, однако способ, которым она это делает, заключается в том, что он берет перерисованный слой изображения для целевого размера метки и растягивает контент, чтобы он соответствовал текущему, а затем анимируется с Прямоугольник назначения. Это заканчивается очень странным скачком на текстовом дисплее. Вот два изображения, показывающие внешний вид до анимации, а затем сразу после начала анимации:
Предварительная анимация 
Пост-анимация 
Я пытался использовать только этот слой для анимации, но все равно получаю те же проблемы.
Итак, вопрос в том, как мне этого избежать?
Спасибо за любую помощь,
Скотт


