0
當用戶真正轉到後臺時,需要顯示黑屏。 (不是applicationWillResignActive)。當應用程序轉到後臺時更改rootview控制器(applicationDidEnterBackground)
因此,我在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
您是否正在爲用戶添加隱私級別?當用戶返回到應用程序時,您是否要更改回原始視圖控制器? – DookieMan
是的。我會改回原來的VC。 –
該應用程序委託中的applicationDidEnterBackground回調代碼段中的代碼片段?不要將其包裝在'dispatch_async'中。在該方法返回後獲取快照,以便通過這樣做導致發生快照後發生vc更改。 – dan