0

スーパービューがUIViewアニメーションによってアニメーション化されているUILabelのテキストを変更することは可能ですか?

containerView のサブビューとして labelView があるとします。timerFired は、containerView がアニメーション化されている間に呼び出されています (前後ではありません)。アニメーション中にlabelViewのsetTextを呼び出していますが、そのテキストは変化しません。私が求めているものを達成する方法はありますか?

編集:私のせい - これはうまくいきます。問題は、テキスト更新ルーチンにありました (キャストの問題)。

4

1 に答える 1

1

あなたの問題は、アニメーションがどのように機能するかです。Core Animation は、効果的に初期状態のスナップショットと終了状態のスナップショットを取得し、それらの間を補間します。textこれは非常に効率的ですが、アニメーションの途中でアニメーション化できないプロパティ ( など) を簡単にいじることはできません。この問題を解決する方法はいくつかありますが、最も簡単な方法は、2 つのラベルを作成し、それらをまとめてアニメーション化し、それらのopacityまたはをアニメーション化することhiddenです。これにより、通常、クロスフェードの外観が得られますが、これが望ましいと思います。もちろん、独自の を管理することでこれを実現する方法もたくさんありますCALayersが、2 つのUILabelソリューションが最も簡単です。

于 2010-02-22T17:57:57.457 に答える