2016-03-09 7 views
1

Я хотел бы отобразить на экране AirPlay тот же контент, что и основной экран, как это делает по умолчанию, когда вы подключаете свое устройство к AirPlay в приложении. Это нормально работает нормально.Как сделать 16: 9 pdf, чтобы соответствовать размеру экрана в vfr/Reader на втором экране 16: 9 airplay from iPad 4: 3

Но мой второй экран 16: 9 и мой iPad 4: 3, и я использую vfr/Reader и pdf, который я читаю, в формате 16: 9. То, что я хочу достичь, похоже на PowerPoint, когда вы запускаете .pptx в режиме слайд-шоу. он показывает pptx только в 16: 9 на втором экране.

Что я попытался это: https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/WindowAndScreenGuide/UsingExternalDisplay/UsingExternalDisplay.html#//apple_ref/doc/uid/TP40012555-CH3-SW1

Что я могу добиться того, чтобы иметь второй экран большего размера полную ширину с красным фоном:

if (_secondWindow) 
    { 
     NSLog(@"INIT SECOND WINDOW"); 
     _secondWindow = [[UIWindow alloc] initWithFrame:screenBounds]; 
     _secondWindow.backgroundColor = [UIColor redColor]; 

     _secondWindow.screen = newScreen; 
     _secondWindow.hidden = NO; 

     //change size to 200 200 
     //_secondWindow.frame = CGRectMake(0, 0, 200,200); 

     // Set the initial UI for the window. 

    } 

Что мне нужно, чтобы сказать что-то вроде взять содержимое моей основной текущей вдовы и копировать ее на _secondWindow с другим размером больше.

Когда я это сделать:

_secondWindow = [[[UIApplication sharedApplication] delegate] window]; 

У меня есть содержание MainWindow на втором экране, но размер не меняется. Мне нужно только форсировать размер экрана зеркалирования, масштаб моего содержимого на экране зеркалирования. и держать их в синхронизации

Есть ли способ достичь этого? Я вижу на одном из сообщений, что невозможно иметь один и тот же экземпляр для двух экранов, может быть, лучший способ, чем использовать vfr/Reader что-то вроде чтения в двух webView или что-то еще? Или максимум, который можно сделать в этой ситуации, только копирует текущий pdf в виде png (но сохраняет высокое разрешение) на втором экране?

Но как это работает, когда у вас есть видео в вашем приложении, вам нужно обрабатывать все случаи?

ответ

0

Вам нужно создать целый новый дисплей с помощью:

- (void)handleScreenDidDisconnectNotification:(NSNotification*)aNotification 

и

- (void)handleScreenDidConnectNotification:(NSNotification*)aNotification 

Затем, когда вы получили этот экран можно использовать полное разрешение.

Для того, чтобы использовать в полной мере и высоты второго экрана (без границ) не нужно:

secondScreen.overscanCompensation=UIScreenOverscanCompensationNone; 

Где secondScreen 'является AirPlay: (UIScreen).

Обратите внимание на то, что UIScreenOverscanCompensationNone был представлен в IOS 9, настройка overscanCompensation на 3 также работает со старыми версиями IOS, однако проблемы с совместимостью мне неизвестны, поскольку я ориентирован только на IOS 9 или более поздней.

/Андерс

+0

Я пытался добавить secondScreen.overscanCompensation = UIScreenOverscanCompensationNone; после // Получить экранный объект, представляющий внешний дисплей. UIScreen * secondScreen = [[экраны UIScreen] objectAtIndex: 1]; // Получите границы экрана, чтобы создать окно с правильным размером. CGRect screenBounds = secondScreen.bounds; Но он не работает в том же размере, что и размер по умолчанию при первом включении зеркального отображения. – Aaleks

+0

Я пробовал каждый вариант, но ничего не менял. UIScreen * secondScreen = [[экраны UIScreen] objectAtIndex: 1]; secondScreen.overscanCompensation = UIScreenOverscanCompensationInsetApplicationFrame; – Aaleks

+0

Я действительно хочу добиться того же, что и в Powerpoint, когда у вас есть силовая точка 16: 9, и когда вы запускаете режим слайд-шоу, презентация на второй экранной шкале будет больше – Aaleks

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

  • Нет связанных вопросов^_^