私は、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];
ラベルを使用してスムーズなアニメーションを取得しますが、その方法は、再描画された画像レイヤーをラベルの目的のサイズに合わせて取得し、現在のサイズに合わせてコンテンツをストレッチしてから、目的の四角形にアニメーション化することです。これにより、テキスト表示で非常に奇妙なジャンプが発生します。アニメーション前の外観と、アニメーション開始直後の 2 つの画像を次に示します。
プレアニメーション
ポストアニメーション
これをアニメーション化するためにレイヤーだけを使用しようとしましたが、それでも同じ問題が発生します。
問題は、どうすればこれを回避できるかということです。
助けてくれてありがとう、
スコット