Изменить контроллер rootview, когда приложение переходит в фоновый режим (applicationDidEnterBackground)
Мне нужно показать черный экран, когда пользователь действительно идет в фоновом режиме. (Не приложение WillResignActive).
В результате я меняю свой корневой контроллер вида, как это в 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
1 ответ
Попробуйте добавить новый вид в ваше окно, а не изменять корневой контроллер окна, когда приложение входит в фоновый режим, и удалите / скройте его в соответствии с вашими требованиями. Установите цвет фона представления как черный. Удачи.