我使用UIDynamics
-创建了这个小动画Push Behavior
。
我所做的是:
我创建了一个简单的UIPushBehavior
像这样:
self.pushBehavior = [[UIPushBehavior alloc] initWithItems:@[self.littleJumpy] mode:UIPushBehaviorModeInstantaneous];
littleJumpy 只是一个UIView
with size:{20, 20}
被添加到当前视图。
[animator addBehavior:self.pushBehavior];
然后我会设置magnitude
然后随后设置active = YES;
以上是一种方法。
它工作完美。
在某个时间点,我会将此推送行为的active
状态设置为NO
. 之后我会再次将其设置为YES
.
问题由此而来。我意识到,一旦将推送行为的活动状态设置为NO
,就无法通过将其设置为 来再次恢复它YES
。
因此,我需要分配和配置一个新的推送行为并将其animator
重新添加到所有内容中。
让我担心的是内存问题,如果我们需要,alloc
并且init
在将其active
状态设置为NO
.
对于一些动画,它不应该受到伤害,但是如果有人想要创建一个连续的运动并且在此期间行为的active
状态设置为NO
并且不能简单地通过再次将其设置为来恢复,在这种情况下需要YES
一个新的alloc
+init
再次执行,然后一遍又一遍地添加到动画师中。
这是正常行为还是我在这里遗漏了什么?
节日快乐。