iOS - 每次应用打开时显示启动画面

时间:2014-10-03 14:13:08

标签: ios iphone splash-screen

我知道这是糟糕的用户体验,但客户要求我每次用户打开应用时都会显示2秒的启动画面。

我试过通过AppDelegate实现这个:

  • 创建初始屏幕视图控制器的实例变量 在应用程序中:didFinishLaunchingWithOptions:方法,和 将其视图的alpha设置为0.

  • 然后在applicationWillEnterForeground中:我将alpha设置为1 希望每次用户打开时都会显示启动画面 app,然后在2秒后将alpha设置回0。

现在,这确实有效,但不正确。当应用程序打开时,会立即显示主UI,然后会显示初始屏幕。

当然,这不是预期的,因为应该在主UI之前显示启动画面。

我试图说服客户取消这个,但有人知道如何正确实施(如果他们完全坚持他们想要的话)?

来自应用程序:didFinishLaunchingWithOptions:

_tabBarController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"TabBarController"];
[[self window] setRootViewController:_tabBarController];
[_tabBarController setDelegate:self];


_loadingViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"LoadingView"];
[[_loadingViewController view] setAlpha:0.0f];
[_loadingViewController willMoveToParentViewController:_tabBarController];
[_tabBarController addChildViewController:_loadingViewController];
[_loadingViewController didMoveToParentViewController:_tabBarController];
[[_tabBarController view] addSubview:_loadingViewController.view];

来自applicationWillEnterForeground:

[[_loadingViewController view] setAlpha:1.0f];

[self performSelector:@selector(removeLoadingView) withObject:nil afterDelay:2.0];

1 个答案:

答案 0 :(得分:0)

这是一种解决方法,但您可以随时尝试:

在根视图控制器上放置UIImageView。 (或使用启动画面图像创建一个新的) 删除真实的启动后,将显示此视图,然后您可以使用您选择的效果将其删除。