Анимированная бесконечная прокрутка изображения в бесшовном цикле не работает, когда он возвращается с заднего плана

Возможный дубликат:
Анимированная бесконечная прокрутка изображения в бесшовной петле

У меня есть следующий код, который запускает бесконечный цикл одного и того же изображения

проблема в том, что когда пользователь сворачивает приложение и возвращается к нему, изображение перестает анимироваться, и оно полностью исчезает

Вот мой код:

-(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"];
}

РЕДАКТИРОВАТЬ: возможная копия анимации бесконечной прокрутки изображения в бесшовной петле

1 ответ

Решение

Посмотрите на ссылку на протокол UIApplicationDelegate. В обсуждении часть метода называется applicationDidEnterBackground: Вы можете найти ответ на свой вопрос.

Вы можете попробовать повторно запустить анимацию при повторном открытии приложения.

Другие вопросы по тегам