繁体   English   中英

应用程序加载和启动画面

[英]App Loading and Splash Screen

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

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

https://github.com/jdg/MBProgressHUD

希望这可以帮助。

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

编辑:

您可以在使用后台下载数据时将背景视图添加到 window

[window addSubview:<backgroundView>.view];

然后一旦下载数据,您可以从 window 中删除相同的数据并将您的主视图 controller 添加到 window

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

希望这对您有所帮助。

是的,您可以显示一个带有启动屏幕的视图(可能还有一个活动指示器,只需记住将数据加载到单独的线程中,否则它不会旋转),然后在加载完成后切换到正确的视图。

您在实际视图之前看到的白色视图是主窗口。 只需在 MainWindow.xib 中将启动图像设置为 window 的背景图像,就完成了。 或者,您还可以添加一个始终在 window 顶部旋转的微调器,这样当您的应用程序加载时,您首先会看到启动屏幕,然后是带有微调器的启动屏幕,然后您的视图就会出现。

我确实在 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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM