2012-02-04 13 views
1

UIView animatWithDurationcompletionためのオプションPARAMを有しているが、私はupdateIOS UIViewのアニメーション(にonUpdate)

全体的なアイデアは、私はアニメーションのフレーム毎に実行されたブロックが必要であるための1つを必要とします。私はNSIntervalでこれを偽装することができると思うが、それはちょっとばかげているようだ。

思考?

答えて

5

代わりにCADisplayLinkを使用してください。 NSTimerのように動作しますが、フレームごとに1回だけ起動し、アニメーションと完全に同期します。ここで

はあなたがアップ1を設定する方法は次のとおりです。あなたのアニメーションコードは

self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(step)]; 
[link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes]; 

- (void)step 
{ 
    //do something related to your animation 
} 

アニメーションが終了すると次に

[self.displayLink invalidate]; 
self.displayLink = nil; 
+0

がいいですね。私は ''を実装しなければならないかどうかはわかりませんでしたが、すばやくGoogle検索を利用して助けてくれました。 – Jacksonkr

関連する問題