0

重複の可能性:
シームレスなループで画像の無限スクロールをアニメーション化する

同じ画像の無限ループを実行する次のコードがあります

問題は、ユーザーがアプリケーションを最小化して元に戻すと、画像のアニメーションが停止し、完全に消えることです

これが私のコードです:

-(void)cloudScroll
{
UIImage *cloudsImage = [UIImage imageNamed:@"TitleClouds.png"];
UIColor *cloudPattern = [UIColor colorWithPatternImage:cloudsImage];
CALayer *cloud = [CALayer layer];
cloud.backgroundColor = cloudPattern.CGColor;
cloud.transform = CATransform3DMakeScale(1, -1, 1);
cloud.anchorPoint = CGPointMake(0, 1);
CGSize viewSize = self.cloudsImageView.bounds.size;
cloud.frame = CGRectMake(0, 0, cloudsImage.size.width + viewSize.width, viewSize.height);
[self.cloudsImageView.layer addSublayer:cloud];

CGPoint startPoint = CGPointZero;
CGPoint endPoint = CGPointMake(-cloudsImage.size.width, 0);
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
animation.fromValue = [NSValue valueWithCGPoint:startPoint];
animation.toValue = [NSValue valueWithCGPoint:endPoint];
animation.repeatCount = HUGE_VALF;
animation.duration = 3.0;
[cloud addAnimation:animation forKey:@"position"];
}

編集:シームレスなループで画像の無限スクロールをアニメーション化 する可能性のある複製

4

1 に答える 1

0

UIApplicationDelegateプロトコルリファレンスを見てください。呼び出されたメソッドのディスカッション部分ではapplicationDidEnterBackground:、質問に対する答えを見つけることができます。

アプリケーションを再度開いたときにアニメーションを再起動してみることができます

于 2012-11-05T15:28:17.303 に答える