如何延迟应用加载以更长时间显示启动画面?
答案 0 :(得分:26)
您应该像往常一样让应用程序启动,然后使出现的第一个视图与启动画面上的图像相同。启动计时器,然后在几秒钟后用实际应用程序根视图替换该视图。
故意拖延实际的应用程序启动是一个很大的禁忌。
答案 1 :(得分:11)
更新:不认真,不要这样做!
或者我们C函数
sleep(9);
将它放入applicationDidFinishLaunching:会使程序暂停9秒,也可以输入任何其他整数。
编辑:过去一年我学到了很多东西。不要这样做。原因是,如果需要太长时间,跳板将自动停止应用程序启动。该时间记录很少,因此即使一秒钟也可能导致应用程序失败。答案 2 :(得分:1)
这个问题类似:splash screen like tap tap revenge 3
基本上,在您的applicationDidFinishLaunching:中,在包含Default.png的其他视图的顶部添加图像视图。
答案 3 :(得分:1)
请参阅上面的讨论,了解为什么您不应该以这种方式延迟您的应用程序加载。但是,如果你碰巧有一个场景,短时间睡眠会比切换视图的开销更好,使用NSThread的 sleepForTimeIntervale 而不是sleep()。它更加框架友好,您可以更精细地控制睡眠时间:
[NSThread sleepForTimeInterval:0.75]
答案 4 :(得分:0)
我遇到了客户端必须演示启动图像的情况。所以,这是我的解决方案..
- (void)applicationDidBecomeActive:(UIApplication *)application
{
UIImageView *defaultImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default@2x.png"]];
[self.window addSubview:defaultImageView];
sleep(2);
[defaultImageView removeFromSuperview];
[defaultImageView release];
/*
Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
*/
}
答案 5 :(得分:0)
您可以使用它的睡眠方法来获得此结果“
sleepForTimeInterval
“,如果你想获得发布时间,请点击:
- (void) applicationDidFinishLaunching:(UIApplication*)application
{
[NSThread sleepForTimeInterval:8.0];
}
它将推迟发射8秒
警告:但苹果并不推荐这样做,因为它会长时间为你的应用程序加载,它会杀死你的应用程序。 但是如果你需要它来获得一些特定的截图或者一些内部使用,你可以用来解决目的,但绝不会在应用程序提交中。