当应用程序进入后台时显示启动屏幕

3
我正在使用PhoneGap开发iOS应用程序。我想在应用程序进入后台时显示启动画面。
applicationWillResignActive:中,我调用了一个JavaScript函数,并使用Cordova的方法cordova.exec(null,null, "SplashScreen, "show", [])来显示启动画面。但似乎这并不起作用。
当我恢复应用程序时,应用程序首先带回之前的状态,然后切换到启动画面,但我希望在应用程序恢复时显示启动画面。我该如何实现?

anarnth,你是如何在Objective-C类中调用JavaScript函数的? - Dnaso
2个回答

4
我已经成功实现了:
- (void) applicationWillResignActive:(UIApplication *)application {
  //Call to JS to change to splash
 [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.02
}

让当前运行循环运行片刻。

欲了解更多资讯,请查阅以下链接:

iOS 进入后台时,何时精确地进行视图快照?


0

正如您所经历的那样,实际的视图层次结构直到应用程序恢复活动才会被修改。尝试在-applicationWillResignActive:中设置一个属性/变量,指示当应用程序再次变为活动状态时应显示启动画面,然后在-applicationDidBecomeActive:中立即实际显示它。


Matt,感谢您的回复。我尝试了您的建议。但是当应用程序被带到前台时,我仍然会首先看到先前的状态,然后再切换到启动画面。 - ananth85
你的“show”方法是否以动画形式显示?因为,你可以尝试在没有动画的情况下进行更改,并强制进行布局/显示。此外,如果你在应用程序委托方法中遇到问题,可以尝试将其放在根视图控制器的viewWillAppear中。对于这个错误的引导我感到抱歉。 - Matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接