Проблема в реализации Quick Look API - PullRequest
1 голос
/ 01 ноября 2010

Я хочу реализовать QuickLook API для предварительного просмотра PDF-файла. Я сделал приложение, основанное на представлении, и в файле .h импортирую QuickLook / QuickLook.h. в .m файле я сделал объект QLPreviewController внутри viewDidLoad. После этого я попытался сделать объект QLPreviewItem, но это выдает ошибку «QLPreviewItem undeclared». Пожалуйста, помогите мне, если можете.

Thanx.

Ответы [ 2 ]

4 голосов
/ 25 декабря 2010

QLPreviewItem - это не класс, а протокол. Вы должны либо использовать NSURL для заполнения API (NSURL соответствует QLPreviewItem), либо создать свой собственный класс объектов, соответствующих этому протоколу.

2 голосов
/ 04 августа 2011

Ваш почти там!

QLPreviewController нужен QLPreviewControllerDataSource

реализует <QLPreviewControllerDataSource>

и добавляет две функции:

- (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller
{
    return 1; //number of documents, usually you use a array with document url's
}

- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index
{
    return [NSURL fileURLWithPath:@"document.pdf"]; //other documents are supported too
}

Ваше видениечто второй метод возвращает QLPreviewItem (как вы видите, он работает и с обычными URL)

Я надеюсь, что помог вам немного дальше

...