0

当用户真正进入后台时,我需要显示黑屏。(不是 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;
});

问题是它不起作用。我以为是因为没有足够的时间。所以我研究了延长后台时间,但还是不行。我该怎么做才能在用户完全进入后台时显示黑屏(当用户切换应用程序时,他们会将我的应用程序视为黑屏)?

目标 c - 正确使用 beginBackgroundTaskWithExpirationHandler

4

1 回答 1

0

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

于 2016-03-08T16:42:33.137 回答