2016-02-08 6 views
1

[EDIT] Я перезапустил iPad, и он исправил проблему. Я оставляю это здесь, потому что переполнение стека рекомендуется удалить вопросIPad дисплей показывает черный экран, когда я создаю новый UIWindow

У меня есть странная вещь происходит на IPad Air 2. Используя метод, упомянутый в https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/WindowAndScreenGuide/UsingExternalDisplay/UsingExternalDisplay.html

создать новый объект UIWindow для вторичного дисплея, подключенного через AirPlay.

- (void)checkForExistingScreenAndInitializeIfPresent { 
    if ([[UIScreen screens] count] > 1) 
    { 
    // Get the screen object that represents the external display. 
    UIScreen *secondScreen = [[UIScreen screens] objectAtIndex:1]; 
    // Get the screen's bounds so that you can create a window of the correct size. 
    CGRect screenBounds = secondScreen.bounds; 

    self.secondWindow = [[UIWindow alloc] initWithFrame:screenBounds]; 
    self.secondWindow.screen = secondScreen; 

    NSLog(@"Show external window"); 
    // Set up initial content to display... 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Test" bundle:[NSBundle mainBundle]]; 
    UIViewController *controller = [storyboard instantiateInitialViewController]; 
    self.secondWindow.rootViewController = controller; 
    // Show the window. 
    self.secondWindow.hidden = NO; 
    } 

}

Когда я запускаю этот код на iPhone 5s, код работает отлично, а вторичное окно инициализации. Однако, когда я запускаю этот код из Xcode на iPad Air 2, я вижу только черный экран. Если приложение не запускается через Xcode, приложение запускается на iPad, но на дисплее AirPlay отображается только главный экран с выделенным значком приложения. Аудио по-прежнему маршрутизируется через AirPlay.

Любая помощь была бы принята с благодарностью.

+0

Дикое предположение здесь, но есть ли что-нибудь в раскадровке, которую вы пытаетесь загрузить, это «iPhone только»? Это может объяснить, почему он не отображается на iPad. – Ermiar

+0

@ Ermiar Вы не поверите. После нескольких часов, когда я не смог понять это, я перезапустил iPad. Чудесно, это сработало! – Matt

+0

lol okay! В этом случае я не знаю, нужно ли отвечать на вопрос самостоятельно или просто закрыть его. В любом случае, рад, что вы нашли решение. – Ermiar

ответ

1

Обычно мы меняем UIWindow цвета, как это:

[UIApplication sharedApplication].keyWindow.backgroundColor = [UIColor myColor]; 

Вы можете установить self.secondWindow цвета, как:

secondWindow.backgroundColor = [UIColor whiteColor]; 
+0

отлично !!! это случается иногда. –

1

Это было смешно случаем и решение ему было так же, как смешной. Я перезапустил iPad, и проблема исчезла.

+0

Я столкнулся с той же проблемой в iPad 2. В моем случае некоторое время это случается часто. Вы нашли какие-либо причины или лучшие решения? – Deepak

+0

Нет, я сожалею @ Deepak это только случилось со мной, что один раз, и после его ухода он никогда не возвращался. – Matt

+0

спасибо @Matt, Извините, что мое устройство не iPad 2, это iPad 3,3. Информация об устройстве-: Модель -: iPad Wi-Fi + 4G (LTE/GSM) - iPad3,3 iOS-: 9.3.1 (13E238) – Deepak

Смежные вопросы