当应用程序转到后台时更改rootview控制器(applicationDidEnterBackground)

时间:2016-03-08 16:17:24

标签: ios background-task backgroundtaskidentifier

当用户真正去背景时,我需要显示黑屏。 (不是applicationWillResignActive)。

结果,我在applicationDidEnterBackground中更改了我的根视图控制器。

//Before this, there will be Sync web-service call...normally, it is fast..time out is 2 second  
dispatch_async(dispatch_get_main_queue(), ^{
    UIViewController *vc = [[UIViewController alloc] init];
    [vc.view setBackgroundColor:[UIColor blackColor]];
    [AppDelegate instance].window.rootViewController = vc;
});

问题是它不起作用。我以为是因为没有足够的时间。所以我研究延长背景时间但仍然不行。如何在用户完全输入背景时显示黑屏(当用户将应用程序切换到应用程序时,他们会将我的应用程序视为黑屏)?

objective c - Proper use of beginBackgroundTaskWithExpirationHandler

1 个答案:

答案 0 :(得分:0)

尝试向窗口添加新视图,而不是在应用进入后台时更改窗口的根视图控制器,并根据您的要求删除/隐藏它。将视图的背景颜色设置为黑色。祝你好运。