Advertisement
Guest User

Untitled

a guest
Dec 29th, 2011
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. - (void)spinLayer:(CALayer *)inLayer duration:(CFTimeInterval)inDuration
  2.         direction:(int)direction newFrame:(CGPoint)newFrame
  3. {
  4.    
  5.     CABasicAnimation* rotationZ, *theAnimationX, *theAnimationY;
  6.    
  7.    
  8.    
  9.     // Rotate about the z axis
  10.     rotationZ = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
  11.     rotationZ.toValue = [NSNumber numberWithFloat: M_PI * 2.0 * direction / 2.5];
  12.    
  13.     theAnimationX=[CABasicAnimation animationWithKeyPath:@"position.x"];
  14.     theAnimationX.toValue=[NSNumber numberWithFloat:(newFrame.x-object.center.x)];
  15.     theAnimationY=[CABasicAnimation animationWithKeyPath:@"position.y"];
  16.     theAnimationY.toValue=[NSNumber numberWithFloat:(newFrame.y-object.center.y)]; //newFrame.origin.y];
  17.    
  18.    
  19.     CAAnimationGroup *theGroup = [CAAnimationGroup animation];
  20.     theGroup.fillMode = kCAFillModeForwards;
  21.     theGroup.removedOnCompletion = NO;
  22.     theGroup.delegate = self;
  23.     theGroup.timingFunction =[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
  24.    
  25.     theGroup.duration = inDuration;
  26.     theGroup.repeatCount = 0;
  27.     theGroup.animations = [NSArray arrayWithObjects:rotationZ, theAnimationX, theAnimationY, nil]; // you can add more
  28.    
  29.    
  30.    
  31.     [inLayer addAnimation:theGroup forKey:@"animateLayer"];
  32.    
  33.    
  34.    
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement