2016-03-09 93 views
1

我想在AirPlay屏幕上顯示與mainScreen相同的內容當您將設備連接到應用程序內的AirPlay時默認爲默認。這當然可以工作。如何製作16:9 pdf適合屏幕大小在vfr /讀者在第二屏幕16:9 airplay從iPad 4:3

但我的第二個屏幕是16:9和我的iPad 4:3,我使用vfr/Reader和pdf閱讀是在16:9我想實現的就像是PowerPoint時您啓動一個.pptx在幻燈片模式下。它僅在第二個屏幕上以16:9顯示pptx。

我曾嘗試是這樣的: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]; 

我有第二屏幕上的主窗口的內容,但規模不會改變。 我只需要強制鏡像屏幕的大小,就可以在鏡像屏幕上縮放我的內容。保持同步

有沒有辦法做到這一點?我在一些文章中看到,不可能在兩個屏幕上使用相同的實例,是否有比使用vfr/Reader更好的方法,比如讓讀者在兩個webView或其他東西中使用?或者在這種情況下可以完成的最大值只是將當前的pdf作爲png(但保持高分辨率質量)複製到第二個屏幕上?

但是當你的應用程序中有視頻時它是如何工作的,你需要處理每種情況?

回答

0

你需要創建一個使用一個全新的顯示:

- (void)handleScreenDidDisconnectNotification:(NSNotification*)aNotification 

- (void)handleScreenDidConnectNotification:(NSNotification*)aNotification 

然後當你明白我的屏幕上,你可以利用全分辨率。

爲了利用全與和高度的第二屏(無邊框),你需要:

secondScreen.overscanCompensation=UIScreenOverscanCompensationNone; 

其中「secondScreen」是的AirPlay:(UIScreen)。

觀察到IOS 9中引入了UIScreenOverscanCompensationNone,將overscanCompensation設置爲3也適用於舊版本的IOS版本,但兼容性問題對我來說是未知的,因爲我只針對IOS 9或更高版本。

/安德斯

+0

我試圖添加 secondScreen.overscanCompensation = UIScreenOverscanCompensationNone; //獲取代表外部顯示器的屏幕對象。UIScreen * secondScreen = [[UIScreen screens] objectAtIndex:1]; //獲取屏幕的邊界,以便您可以創建正確大小的窗口。 CGRect screenBounds = secondScreen.bounds; 但第一次激活鏡像時它的大小與默認大小不一樣 – Aaleks

+0

我嘗試了每個選項,但沒有任何更改。 UIScreen * secondScreen = [[UIScreen screens] objectAtIndex:1]; secondScreen.overscanCompensation = UIScreenOverscanCompensationInsetApplicationFrame; 沒有區別 – Aaleks

+0

當你有一個16:9的幻燈片,並且當你啓動幻燈片模式時,第二個屏幕上的顯示比例將變得更大 – Aaleks

相關問題