应用程序加载和初始屏幕

我的应用程序下载相当多的数据,这需要几秒钟。 我的启animation面显示,然后消失,然后在加载第一个视图之前出现白色的空白屏幕几秒钟。 有没有办法保持启animation面出现? 在AppDelegate中创build一个视图并保持显示状态,直到所有的数据加载完成并且视图即将加载为止。

使用MBProgressHUD你可以在这里得到整个源代码。

https://github.com/jdg/MBProgressHUD

希望这可以帮助。

这是一个加载视图,它是活动指示器。

编辑:

您可以将背景视图添加到窗口中,同时使用后台下载数据

[window addSubview:<backgroundView>.view]; 

然后一旦数据被下载,你可以从窗口中删除相同的主视图控制器到窗口中

 [<backgroundView>.view removeFromSuperView]; [window addSubview:<mainView>.view]; 

希望这可以帮助你。

YE,你可以显示一个启animation面的视图(也可能是一个活动指示器,只要记住加载你的数据在一个单独的线程,或不会旋转),然后切换到正确的视图,当加载完成。

您在实际视图之前看到的白色视图是mainWindow。 Sinply在MainWindow.xib中将splash图像设置为窗口的背景图像,然后就完成了。 也可以select添加一个始终在窗口顶部旋转的微调器,以便在加载应用程序时首先看到启animation面,然后显示带有微调器的Spalsh屏幕,然后显示您的视图。

我用viewDidLoad中的默认图像加载一个ImageView,如果你的数据是前面的,就隐藏它。

  UIImage* imageDefault = [UIImage imageNamed:@"Default@2x.png"]; CGRect frame; frame.origin.x = 0; frame.origin.y = -20; frame.size.width = 320; frame.size.height = 480; splash = [[[UIImageView alloc] initWithFrame:frame] autorelease]; [splash setImage:imageDefault]; [self.view addSubview:splash]; . . splash.hidden=YES;