Быстрый просмотр встроенного предварительного просмотра - PullRequest
8 голосов
/ 18 декабря 2010

Из документов для быстрого просмотра:

"Потребительская часть Quick Look имеет три компонента: средство чтения документов (состоящее из настраиваемого представления и панели), комплекты дисплеев для этого считывателя иSPI для обеспечения связи с клиентом. Каждый из этих компонентов играет определенную роль в поддержке потребителя:

Средство чтения документов - Quick Look реализует представление (NSView) и панель (NSPanel), настроенные для отображения документа.Предварительный просмотр. Наряду с предварительным просмотром содержимого представление может включать (по выбору клиента) элементы управления для управления предварительным просмотром, например перемотка страницы вперед, назад страницы, начало воспроизведения, перемотка назад и поиск текста. Клиентское приложениеможет выбрать это представление в своем пользовательском интерфейсе, если оно выберет. Панель «Быстрый просмотр» содержит представление «Быстрый просмотр» и различные элементы управления, которые позволяют пользователю выполнить некоторые действия с предварительным просмотром, например, сделать изображение предварительного просмотра полноэкранным или запустить слайд-шоу. "

Я изучал всеДокументы и примеры для быстрого просмотра, и я не вижу ни:

  1. Определение какого-либо компонента «Читатель документа» или способ доступа к нему.
  2. Любой вид SPI кактакой, который бы показывал потребителю быстрый просмотр
  3. Любой прямой доступ к NSView, используемый Quicklook для отображения предварительного просмотра.

Все, что я хочу сделать, как говорят документы: внедрить представление быстрого просмотрав моей собственной иерархии, а не в панели.Панель конечно имеет богатую документацию.Кто-нибудь ранее успешно использовал Quicklook таким образом?

1 Ответ

7 голосов
/ 16 мая 2012

Класс, который вы ищете - QLPreviewView, часть Quartz.framework.Это общедоступный класс (я полагаю, в Lion). К сожалению, команда разработчиков документации, по-видимому, еще не выпустила документацию, поэтому, вероятно, вы не смогли ее найти. Официальные документы теперь доступны.

Короткая, короткая версия состоит в том, что вы создаете его так же, как и любой другой вид, и устанавливаете для previewItem значение id <QLPreviewItem>, которое вы предоставляете.Протокол <QLPreviewItem> задокументирован .Например,

QLPreviewView *pv = [[QLPreviewView alloc] initWithFrame:frame
                                                   style:QLPreviewViewStyleNormal];
[pv setPreviewItem:item];
[myView addSubview:pv];
[pv release];

Это базовая концепция, YMMV.

Его работа подробно рассмотрена в сессии WWDC 2011 года "Общесистемные предварительные просмотры в Mac OS X и iOS" (или что-то подобноеэффект).Вы сможете получить видео, если вы являетесь платным участником программ для разработчиков Mac OS X или iOS.

...