2010-09-01 66 views
9

我聽說可以將內容從iPad應用程序輸出到外部顯示器,但應用程序必須爲此做好準備,並且存在嚴重的限制。任何指針?將iPad內容輸出到外部顯示器

而且,iPhone可以做到這一點嗎?它是一樣的嗎?

+0

這些問題是相關的,他們的答案可能有所幫助:[連接ipad到外部顯示器](http://stackoverflow.com/questions/2798534/connecting-ipad-to-external-monitor)和[iPad VGA連接器 - 在自己的應用程序的鏡像屏幕?](http://stackoverflow.com/questions/2662201/ipad-vga-connector-mirror-screen-in-own-application) – 2010-09-01 18:57:35

回答

11

很少有跡象表明,你需要創建一個新的UIWindow並將其附加到UIScreen中外部顯示器,這個UIWindow將託管要顯示在外部顯示器上的內容,所以你需要爲你的主應用程序界面建立一個獨立的視圖層次結構,你還需要聽取UIScreenDidConnectNotificationUIScreenDidDisconnectNotification當外部顯示器被連接和移除時通知您的應用程序。

我演示瞭如何在視頻中爲我的class on iTunes U的iPad會話做到這一點,其中的課程筆記可以查看here

Matt Gemmell最近也做了一個很好的寫作,你可以閱讀here

11

來實現這一功能的關鍵是包含在UISCreen類:

http://developer.apple.com/iphone/library/documentation/uikit/reference/UIScreen_Class/Reference/UIScreen.html#//apple_ref/occ/clm/UIScreen/screens

基本上,你的應用程序將使用UIScreen以訪問到外部顯示屏,然後將其設置爲屏幕的新的UIWindow(你的應用將有兩個UIWindow)。然後,應用程序可以將ViewController添加到代表第二個屏幕的新UIWindow中,然後關閉。

UIWindow *externalWindow.screen = [[[UIScreen screens] lastObject] retain]; 
[externalWindow addSubview:externalViewController.view]; 

這很簡單,但需要一點實驗才能使其工作。在設備上調試應用程序是很痛苦的,因爲需要30針連接器來連接顯示器,所以不能用於調試。也許有通過電纜進行調試+外部顯示,但我沒有機會看。

限制: 你應該能夠輸出視頻質量的比特率,因爲蘋果已經能夠與一些他們的應用程序來實現這一目標。這就是說,外部顯示器將被限制在設備所支持的屏幕分辨率,這樣的事情可能看起來不清晰的在你的108" LCD :-)

平臺: 這應該對所有的iPad和iPhone上工作運行4.0+,你需要一條我認爲是iPhone和iPad獨有的特殊線纜(30-40美元)

+0

+1的一個非常詳細的答案。謝謝。 – hpique 2010-09-02 09:00:19

+0

新的HDMI電纜可讓您同時進行調試和輸出,並可與iPad和iPhone配合使用。 – respectTheCode 2011-05-03 16:53:56

+0

@AndrewLitte:UIWindow * externalWindow.screen = [[[UIScreen屏幕] lastObject]保留];''有效的代碼? – 2012-04-19 20:56:47

相關問題