When increasing the height of label, everything is fine and smooth. When decreaseing, the label is instantly changing the size then repositioning with animation.
<
Use a CGAffineTransform
to do this.
[UIView animateWithDuration:1.0 animations:^{
// Scale down 50%
label.transform = CGAffineTransformScale(label.transform, 0.5, 0.5);
} completion:^(BOOL finished) {
[UIView animateWithDuration:1.0 animations:^{
// Scale up 50%
label.transform = CGAffineTransformScale(label.transform, 2, 2);
}];
}];