2013-12-23 24 views
0

我用UIDynamics - Push Behavior製作了這個小動畫。iOS:UIDynamics推動行爲

我所做的是:

我創建了一個簡單UIPushBehavior像這樣:

self.pushBehavior = [[UIPushBehavior alloc] initWithItems:@[self.littleJumpy] mode:UIPushBehaviorModeInstantaneous];  

littleJumpy只是一個UIView大小爲:{20, 20}被添加到當前視圖。

[animator addBehavior:self.pushBehavior]; 

然後後來我將設置magnitude並隨後設置active = YES;

上面是這樣的方法之內。

它完美無缺地工作。

在某個時間點,我會將此推送行爲的active狀態設置爲NO。 然後我再次將它設置爲YES

問題隨之而來。我意識到,一旦推動行爲的活動狀態設置爲NO,它就不能通過將其設置爲YES而再次恢復。

因此,我需要分配和配置新的推送行爲,並將其重新添加到animator

我擔心的是內存的問題,如果我們的active狀態設置爲NO後需要allocinit推行爲連連。

對於少數動畫,它不應該受到傷害,但如果有人想創建一個連續運動,在此期間的行爲的active狀態設置爲NO,並不能簡單地通過再次將其設置爲YES,其中復活如果需要再次執行新的alloc + init,然後一遍又一遍地添加到動畫製作者。

這是正常行爲還是我在這裏錯過了一些東西?

節日快樂。

回答

0

這是一個老問題。

但實驗的個月後,我來到了,一旦active狀態設置爲NO一個結論,我將不得不重新alloc,並再次重新init的行爲,以便重新使用的行爲。

換句話說,從NO再次設置爲YES不會重新激活該行爲。