iOS:UIDynamics推送行为

时间:2013-12-23 00:32:15

标签: ios uikit-dynamics

我使用UIDynamics - Push Behavior创建了这个小动画。

我做的是:

我创建了一个简单的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

在我将alloc状态设置为init之后,如果我们需要activeNO一次又一次地推送行为,那么让我担心的是内存问题。

对于一些动画,它不应该受到伤害,但是如果有人想要创建一个连续的动作,并且在此期间行为的active状态设置为NO并且不能简单地通过设置恢复再次转到YES,在这种情况下,需要再次执行新的alloc + init,然后一遍又一遍地添加到动画师。

这是正常行为还是我在这里遗漏了什么?

节日快乐。

1 个答案:

答案 0 :(得分:0)

这是一个老问题。

但经过数月的试验,我得出结论,一旦active州设置为NO,我就必须重新alloc并重新{{1}再次行为,以便重用行为。

换句话说,从init再次将其设置为YES不会重新激活该行为。