2012-02-04 95 views
1

UIView animatWithDuration具有用於completion可選PARAM,但我需要一個用於updateIOS的​​UIView動畫(的onUpdate)

整體思想是我需要動畫的每一幀上運行的塊。我想我可以用NSInterval欺騙這一點,但似乎只是hoaky。

想法?

回答

5

使用CADisplayLink代替。工程就像一個NSTimer,但恰好觸發一次架,將是完全與動畫同步。

這裏是你如何設置一個:

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

聽起來不錯。我不知道我不得不實施'',但快速谷歌搜索幫助了上一個。 – Jacksonkr 2012-02-06 17:52:53