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

问题描述:

我知道这是坏的UX,但是客户端要求每次用户打开应用程序时显示启动画面2秒。iOS - 每次应用打开时显示启动画面

我试图通过AppDelegate中通过实施这样的:

  • 创建初始屏幕的一个实例变量的应用程序中查看控制器 :didFinishLaunchingWithOptions:方法中,和 设置其视图的α为0 。

    在applicationWillEnterForeground
  • 然后:我在 希望闪屏会显示每个用户打开 应用时,阿尔法设置为1,然后设置阿尔法回到0 2秒后。

现在,这个工作,但不正确。当应用程序打开时,主界面会立即显示,然后显示启动画面。

当然,这不是打算在主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]; 
+0

那么你有默认启动图像无论如何这是不够你的客户? – Popeye 2014-10-03 14:22:47

+0

你的应用程序应该在返回后台并返回活动状态之后,返回到之前的状态吗? – Popeye 2014-10-03 14:23:19

+0

相信我,我曾尝试过,但他们坚信,他们希望用户每次打开应用程序时都能看到启动画面。 – Nick 2014-10-03 14:23:45

这是一种解决方法,但你可以尝试:

把一个UIImageView根视图控制器。 (或者用闪屏图像创建一个新窗口) 一旦真正的飞溅被移除,这个视图就会显示出来,然后你可以在你选择的效果之后删除它。

+0

它应该显示随后每次打开应用程序(按主页按钮,重新打开应用程序,按主页按钮,重新打开应用程序...)。 – Nick 2014-10-03 14:30:21

+0

正是因为这一点,你应该能够随时显示视图,因为它不是一个真正的飞溅屏幕。它只是一个你可以添加和删除的视图。 – Smiless 2014-10-03 14:33:24

+0

这就是我已经在做的事情。 – Nick 2014-10-03 14:34:12