应用程序加载和启动画面

时间:2011-08-11 14:59:59

标签: iphone objective-c ios cocoa-touch

我的应用下载了大量数据,大约需要几秒钟。我的启动画面显示然后消失,然后在加载第一个视图之前出现白色空白屏幕几秒钟。有没有办法让闪屏出现?是否可以在AppDelegate中创建一个视图并保持显示,直到所有数据加载完成并且视图即将加载?

4 个答案:

答案 0 :(得分:4)

使用MBProgressHUD您可以在此处获取完整的源代码。

https://github.com/jdg/MBProgressHUD

希望这有帮助。

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

编辑:

您可以使用

在后台下载数据时将背景视图添加到窗口中
[window addSubview:<backgroundView>.view];

然后,下载数据后,您可以从窗口中删除相同数据并将主视图控制器添加到窗口

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

希望这会对你有所帮助。

答案 1 :(得分:3)

是的,您可以显示带有启动画面的视图(可能还有活动指示器,只记得在单独的线程中加载数据,或者它不会旋转),然后在加载时切换到正确的视图完成。

答案 2 :(得分:1)

在实际视图之前看到的白色视图是mainWindow。 Sinply将启动图像设置为MainWindow.xib中窗口的背景图像,您就完成了。您也可以选择添加一个始终在窗口上旋转的微调器,这样当您的应用程序加载时,您首先会看到启动画面,然后是带有微调器的spalsh屏幕,然后会出现您的视图。

答案 3 :(得分:0)

我在viewDidLoad中加载了一个带有default-Image的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;