iOS 7 App Loading View Flash before appear

iOS 7 App Loading View Flash before appear

我正在将应用程序和部署目标构建回 iOS 7(因此 xCode6 中的启动屏幕文件对我不起作用)

问题是应用程序的启动图像会出现在开头。在 AppDelegate 完成并将 NavigationView 加载为 rootViewController(在 Storyboard 中定义)之后。我添加了一个新的子视图(在 ViewDidLoad 中),它具有与 UIActivityIndi​​catorView 相同的启动图像(因此它保持流畅并告诉用户它正在工作)。

问题是AppDelegate结束后,会显示RootViewController的View,然后显示'Launch image with UIActivityIndicatorView'。虽然显示速度很快,但是看起来像闪屏,影响用户体验。

我应该怎么做才能避免呢?谢谢

- (void)viewDidLoad
{
    [super viewDidLoad];

    //Create a simple UIView with BG img and UIActivityIndicator
    dispatch_sync(dispatch_get_main_queue(),^{
        [self popLoadingScreenWithType:0];
    });

    //...something else for App execute
}

您可以做的是将启动画面视图保留为视图控制器中的主视图,然后在延迟一段时间后将其隐藏。

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

在此 loadMainView 方法中 --> 隐藏初始屏幕,然后显示主视图。

或者,您可以设置一个计时器并创建相同的效果

NSTime *firstScreenTimer = [NSTimer scheduledTimerWithTimeInterval:2.2 target:self selector:@selector(loadMainView) userInfo:nil repeats:NO];