作者:WSF15WEDFV_564 | 来源:互联网 | 2023-10-09 21:57
12345678910111213141516171819202122- (void)shake{ if (!self.animator) { self.animator = [[
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| - (void)shake
{
if (!self.animator) {
self.animator = [[UIDynamicAnimator alloc]initWithReferenceView:self.view];
}
[self.animator removeAllBehaviors];
CGPoint newPos = CGPointMake(arc4random()%320, arc4random()%568);
UISnapBehavior *snap = [[UISnapBehavior alloc]initWithItem:_btn snapToPoint: newPos];
snap.damping = 0.3;
[self.animator addBehavior:snap];
// UIDynamicAnimator *animator = [[UIDynamicAnimator alloc]initWithReferenceView:self.view];
//
// [animator removeAllBehaviors];
//
// CGPoint newPos = CGPointMake(arc4random()%320, arc4random()%568);
// UISnapBehavior *snap = [[UISnapBehavior alloc]initWithItem:_btn snapToPoint: newPos];
// snap.damping = 0.3;
// [animator addBehavior:snap];
} |
注释部分的代码是不作为property出现的,上下两段代码除了一个是property一个不是其它的都一毛一样,为什么只有当animator作为property的时候这个add进去的snap动画才生效呢??看了官方文档也没找到这方面的解释,而且之前忘记是用什么其它的东西也是遇到了这种情况。跪求大神给解释一下ORZ