Вывод содержимого iPad на внешний дисплей - PullRequest
9 голосов
/ 01 сентября 2010

Я слышал, что можно выводить контент из приложения iPad на внешний дисплей, но приложение должно быть подготовлено к этому, и существуют серьезные ограничения. Есть указатели?

А также, это можно сделать для iPhone? Это то же самое?

Ответы [ 2 ]

11 голосов
/ 01 сентября 2010

Как мало указывает, вам нужно создать новое окно UIWindow и прикрепить его к экрану UIS для внешнего отображения. Это UIWindow будет содержать контент, который будет представлен на внешнем дисплее, поэтому вам нужно будет создать для этого отдельную иерархию представлений, отдельную от основного интерфейса приложения. Вам также нужно будет прослушать уведомления UIScreenDidConnectNotification и UIScreenDidDisconnectNotification, которые сообщают вашему приложению о подключении и удалении внешнего дисплея.

Я демонстрирую, как это сделать в видео для сеанса iPad моего класса в iTunes U , для которого можно просмотреть заметки курса здесь .

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

11 голосов
/ 01 сентября 2010

Ключ к реализации этой функции содержится в классе UISCreen:

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

По сути, ваше приложение будет использовать UIScreen, чтобы получить доступ к экрану внешнего дисплея, а затем установить его.в качестве экрана для нового UIWindow (ваше приложение будет иметь два UIWindows).Затем приложение может добавить ViewController в новое окно UIWindow, представляющее второй экран, и все готово.

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

Это довольно просто, но для его работы потребуется немного поэкспериментировать.Трудно выполнить отладку приложения на устройстве, поскольку для подключения к дисплею потребуется 30-контактный разъем, поэтому его также нельзя использовать для отладки.Возможно, есть кабель для сквозной передачи для отладки + внешний дисплей, но у меня не было возможности посмотреть.

Ограничения : вы должны иметь возможность выводить битовые скорости качества видеоКак Apple удалось достичь этого с помощью нескольких своих приложений.Тем не менее, внешний дисплей будет ограничен разрешением экрана, поддерживаемым устройством, поэтому на вашем 108-дюймовом ЖК-дисплее может не выглядеть четким: -)

Платформы : это должно работать навсе iPad и iPhone с версией 4.0+. Вам понадобится специальный кабель, который я считаю уникальным для iPhone и iPad (30-40 долларов).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...