ラベルを移動してサイズを変更しようとしていますが、ラベルのサイズがすぐに変更されてから所定の位置に移動します。最初に、コメントアウトされた lbl.frame 行を単純に試しました。次に、この質問を見つけました:
UIView のサイズを変更しながらアニメーション化する方法
contentMode 以外のすべてのコードを追加しました。これは私が望んでいたことでしたが、ラベルが縮小したときにラベルのフォントが下向きに調整されませんでした。(私は xib に合うように調整します)。最後に contentMode 行を追加すると、元のフレーム行と同じ結果が得られました。最初にすぐに収縮して動きをアニメートします。
lbl.contentMode = UIViewContentModeRedraw;
[UIView animateWithDuration:1.0 delay:0.0
options:(UIViewAnimationOptionAllowUserInteraction)
animations:^{
//lbl.frame = CGRectMake(x, mStartingLine.frame.origin.y+mStartingLine.frame.size.height, 100, 100);
CGRect theBounds = lbl.bounds;
CGPoint theCenter = lbl.center;
theBounds.size.height = 100;
theBounds.size.width = 100;
theCenter.y = mStartingLine.frame.origin.y+mStartingLine.frame.size.height+50;
theCenter.x = x;
lbl.bounds = theBounds;
lbl.center = theCenter;
}
completion:nil
];