在屏幕上旋转和翻译UIImageView

我怎样才能旋转和UIImageView翻译屏幕的一边,然后从另一边回来..让我说我有一个轮,我想旋转和翻译从中间,然后离开屏幕到左边,然后它从右边回到中间。

我使用下面的代码旋转和closures屏幕翻译;

CABasicAnimation* rotationAnimation; rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; rotationAnimation.toValue = [NSNumber numberWithFloat: -M_PI * 2.0 /* full rotation*/ * 2 * 1 ]; rotationAnimation.duration = 1; rotationAnimation.cumulative = YES; rotationAnimation.repeatCount = 1.0; rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; rotationAnimation.delegate = self; CABasicAnimation* translationAnimation; translationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.translation.x"]; translationAnimation.toValue = [NSNumber numberWithFloat:-700]; translationAnimation.duration = 1; translationAnimation.cumulative = YES; translationAnimation.repeatCount = 1.0; translationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; translationAnimation.removedOnCompletion = NO; translationAnimation.fillMode = kCAFillModeForwards; 

不知道如果这是正确的路要走,所以请帮助!

试试这个,它会为你工作

  CABasicAnimation* rotationAnimation; rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; rotationAnimation.toValue = [NSNumber numberWithFloat: -M_PI * 2.0 /* full rotation*/ * 2 * 1 ]; rotationAnimation.duration = 1; rotationAnimation.cumulative = YES; rotationAnimation.repeatCount = 1.0; rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; rotationAnimation.delegate = self; CABasicAnimation* translationAnimation; translationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.translation.x"]; translationAnimation.toValue = [NSNumber numberWithFloat:-700]; translationAnimation.duration = 1; translationAnimation.cumulative = YES; translationAnimation.repeatCount = 1.0; translationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; translationAnimation.removedOnCompletion = NO; translationAnimation.fillMode = kCAFillModeForwards; CAAnimationGroup *group = [CAAnimationGroup animation]; group.animations = [NSArray arrayWithObjects:rotationAnimation,translationAnimation, nil]; group.delegate = self; group.removedOnCompletion = NO; group.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; [[self.imageView.layer addAnimation:group forKey:@"randt"];