应用程序加载和初始屏幕
我的应用程序下载相当多的数据,这需要几秒钟。 我的启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;