我遇到一个小问题,当我的应用程序进入后台时,动画停止,当应用程序返回前台时不再恢复。
我试过这个:
@implementation startViewController
-(void)animation {
UIImage*img1 = [UIImage imageNamed:@"wolk2.png"];
image1 = [[UIImageView alloc]initWithImage:img1];
image1.frame = CGRectMake(0, 0, 400, 200);
UIImage*img2= [UIImage imageNamed:@"wolk1.png"];
image2 = [[UIImageView alloc]initWithImage:img2];
image2.frame = CGRectMake(0, 0, 220, 100);
[self.imageView addSubview:image1];
[self.imageView addSubview:image2];
[[self imageView]sendSubviewToBack:image1];
[[self imageView]sendSubviewToBack:image2];
CGFloat a = (CGFloat) (100);
CGFloat b = (CGFloat) (100);
CGFloat a1 = (CGFloat) (50);
CGFloat b1 = (CGFloat) (350);
CGPoint startPointOne=CGPointMake(a,b);
CGPoint startPointTwo=CGPointMake(a1,b1);
image1.center=startPointOne;
image2.center=startPointTwo;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:20];
[UIView setAnimationCurve: UIViewAnimationCurveLinear];
[UIView setAnimationRepeatAutoreverses:YES];
[UIView setAnimationRepeatCount:100000];
CGFloat c = (CGFloat) (700);
CGFloat d = (CGFloat) (100);
CGPoint endPointOne=CGPointMake(c,d);
image1.center = endPointOne;
[UIView commitAnimations];
[UIView beginAnimations:Nil context:NULL];
[UIView setAnimationDuration:30];
[UIView setAnimationCurve: UIViewAnimationCurveLinear];
[UIView setAnimationRepeatAutoreverses:YES];
[UIView setAnimationRepeatCount:100000];
CGFloat c1 = (CGFloat) (650);
CGFloat d1 = (CGFloat) (350);
CGPoint endPointTwo=CGPointMake(c1,d1);
image2.center = endPointTwo;
[UIView commitAnimations];
}
然后在app委托中输入:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
start = [[startViewController alloc]init];
[start animation];
}
但是这没用,所以我该怎么做才能恢复动画?
答案 0 :(得分:0)
您正在创建startViewController
的新实例:
- (void)applicationDidBecomeActive:(UIApplication *)application {
start = [[startViewController alloc]init];
[start animation];
}
你应该调用startViewController
的现有实例,它可能是这样的:
- (void)applicationDidBecomeActive:(UIApplication *)application {
[self.startViewController animation];
}
self.startViewController
是您保留startViewController
实例的属性。