在iOS中无尽的重复滚动/动画背景?

时间:2012-08-18 01:07:22

标签: iphone objective-c ios cabasicanimation

我坚持在动画中无限地水平滚动iPhone视图的2个图像。背景不能有任何空白。如果只使用1张图片可以做到这一点很棒,但我似乎无法得到它。这是我到目前为止的代码:

-(void)moveImages {
CABasicAnimation *theAnimation; 
theAnimation=[CABasicAnimation animationWithKeyPath:@"transform.translation.x"];
theAnimation.duration=10;
theAnimation.repeatCount=100;
theAnimation.autoreverses=NO;
theAnimation.fromValue=[NSNumber numberWithFloat:320];
theAnimation.toValue=[NSNumber numberWithFloat:-320];
[theImage.layer addAnimation:theAnimation forKey:@"animateLayer"];

CABasicAnimation *theAnimation2;
theAnimation2=[CABasicAnimation animationWithKeyPath:@"transform.translation.x"];
theAnimation2.duration=10;
theAnimation2.repeatCount=100;
theAnimation2.autoreverses=NO;
theAnimation2.fromValue=[NSNumber numberWithFloat:640];
theAnimation2.toValue=[NSNumber numberWithFloat:-640];
[theImage2.layer addAnimation:theAnimation2 forKey:@"animateLayer2"];


}

1 个答案:

答案 0 :(得分:1)

好吧,在代码中你可以创建一个新图像,它是这两者的组合。该合成图像的宽度为960像素,并将第一张图像复制到最右侧和最左侧位置。中间位置是第二张图像。

您开始向左移动640像素的图像,因此您只能看到第一张图像。然后你动画640像素。重新启动动画时,图像始终会移动640像素。

这样你就有了一个动画。