[英]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.