Intereting Posts
Объект C – InputStream для NSString Линия рисования с толщиной становится белой, проблема OpenCv iOS как установить данные во втором компоненте на основе выбора первого компонента в UIPickerview Поведение NSUserDefaults с обновлением приложения iOS + AVFoundation. Разная яркость изображения с теми же настройками ручной экспозиции Сделать шрифт UIWebview полужирным шрифтом в iOS использование sendResourceAtURL дает «Неподдерживаемый тип ресурса» Вход в Facebook в приложении iOS для нескольких пользователей на одном устройстве iOS – Разбирайте другой формат даты Я получаю исключение для появления строки состояния в контрольной точке исключения Привязать действие в uibutton -Reactive Cocoa Добавление метода (ов) управления к кнопке, созданной в раскадровке? Где физически находится UIPboardboard? Изменение цвета строки строки состояния диспетчеров модального представления, открывающихся из UIActivityViewController Ошибка плохого доступа при вызове метода

Инициирование исходного ViewController в AppDelegate дает мерцающий черный экран перед первым представлением

В некоторых случаях я хочу установить конкретный конкретный inital view . В основном, чтобы разделить между бортовым и реальным использованием приложения. В настоящее время я использую этот код для этого:

 - (void)checkWhereUserIsInOnboarding { UIStoryboard *mainstoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds]; if([authStatus isEqual:@3]){ // did get past certain point in onboarding UIViewController *initialViewController = [mainstoryboard instantiateViewControllerWithIdentifier:@"connectNav"]; self.window.rootViewController = initialViewController; [self.window makeKeyAndVisible]; } else if(currentUser.objectId == nil){ //no user; he/she is new to the app UIViewController *initialViewController = [mainstoryboard instantiateViewControllerWithIdentifier:@"loginNav"]; self.window.rootViewController = initialViewController; [self.window makeKeyAndVisible]; } else{//fully featured users UIViewController *initialViewController = [mainstoryboard instantiateViewControllerWithIdentifier:@"tabbarcontroller"]; self.window.rootViewController = initialViewController; [self.window makeKeyAndVisible]; } } 

Поскольку мне нужно проверять это несколько раз за время жизни приложения, эта функция запускается в методе ApplicationDidBecomeActive .

Однако, когда я создаю один из этих VC в качестве первоначального представления, я всегда получаю черный экран около 100 мс, после чего приложение переходит на правый экран.

Как я могу это решить?

«Черный экран», по-видимому, означает, что ваше приложение убирается в фоновом режиме. Если вы замените приложение, то вызовите коммутатор приложений, показывает ли ваше приложение как черный экран?

В качестве отправной точки, вероятно, неплохо запустить ее под инструментами и посмотреть такие вещи, как память и т. Д., Чтобы убедиться, что IOS не отключает ее.