2

我有一个游戏,其标题屏幕具有动画背景。使用的动画只是一个CGMoveToPoint来回移动图像的函数。

这在模拟器上完美运行,除了在真实设备上测试时按下主页按钮然后重新打开应用程序,此图像的动画不会移动。

我希望有一个简单的解决方法。我在考虑内存问题并使用该didReceiveMemoryWarning功能,但我对此或何时使用它非常缺乏经验。

我的构建目标是 iOS 5.1。

4

3 回答 3

1

只需在viewWillAppear:方法中添加动画代码而不是viewDidLoad:方法..

于 2013-01-01T07:30:13.130 回答
0

如果您不希望您的应用程序在后台运行,那么将UIApplicationExitsOnSuspend密钥(“应用程序不在后台运行”)添加到 plist 文件将起作用。文档

但是,如果您确实希望您的应用程序在后台运行,那么我建议使用NSNotificationCenter. 文档

例如,将以下行添加到您的类的initviewDidLoad方法中:

Objective-C

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillEnterForeground) name:UIApplicationWillEnterForegroundNotification object:nil];

迅速

NSNotificationCenter.defaultCenter().addObserver(self, selector: "applicationWillEnterForeground:", name: UIApplicationWillEnterForegroundNotification, object: nil)

然后将以下方法添加到您的类中:

Objective-C

- (void) applicationWillEnterForeground {
     // add code here to restart animation
}

迅速

func applicationWillEnterForeground(notification: NSNotification) {
    // add code here to restart animation
}

请注意,viewWillAppear当应用程序在后台进入前台时,并不总是(如果有的话)被调用。所以我不会依赖使用它来重新启动动画。

于 2015-05-25T07:21:54.493 回答
0

将此添加到您的动画中

animation.removedOnCompletion = false;

于 2016-01-14T13:12:56.067 回答