2012-01-08 7 views
0

私はテキストが変更されたときにトランジションを追加したいというカスタムを持っていますUILabelコアアニメーションの遷移を永続的に保つ?

私はトランジションを作成します。

CATransition *a = [CATransition animation]; 
a.duration = 1.0; 
a.type = kCATransitionPush; 
self.transition = a; 

私は私のクラスのプロパティへの移行を設定します。テキストを更新するために呼び出す方法は次のとおりです。

- (void)postMessage:(NSString *)message {  
    [self.messageLabel.layer addAnimation:self.transition forKey:@"statusAnimation"]; 
    self.messageLabel.text = message; 
} 

これはすべて正常に動作します。しかし、私は自分のレーベルにアニメーションを追加し続けたくありません。それは私が更新するたびにそれを遅くする。

私の疑問は、この方法を毎回手動で追加することなく呼び出すたびにアニメーションを表示するように、この遷移を永続的に保つにはどうすればいいですか?

答えて

2

あなたが求めていることは、あまり可能ではありません。 Core Animationはステートフルなライブラリで、存在するアニメーションオブジェクトをコピーして、完了すると解放します。パフォーマンスに問題がある場合は、アニメーションブロックメソッドを使用する必要があります。 This overview of Core Animation with blocksをご利用ください。

+0

悲しい。答えをありがとう。 – Yep

関連する問題