У меня небольшая проблема с использованием QLPreviewController.Действительно, мне нужно отобразить PDF в моем приложении, и этот класс работает нормально, если я помещаю контроллер в приложение UINavigationController.Для этого я использую этот учебник: (http://iosdevelopertips.com/data-file-management/preview-documents-with-qlpreviewcontroller.html).
Проблема в том, что мне нужен UIToolbar внизу представления для сопровождения PDF. Поэтому я создал новый контроллер с UIToolBar и QLPreviewController, ноQLPreviewController не отображается: мое представление для представления QLPreviewController остается белым.
Это код инициализации и добавление контроллера в представление:
PdfReaderViewController = [[QLPreviewController alloc] init];
[PdfReaderViewController setDataSource:self];
[PdfReaderViewController setDelegate:self];
[PdfReaderViewController.view setFrame:myViewForPdfReader.frame];
[PdfReaderViewController setCurrentPreviewItemIndex:sollIndex];
vuePourLecteurPDF = PdfReaderViewController.view;
[PdfReaderViewController reloadData];
Я заметил, что один из двух методов...:
- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index;
из QLPreviewControllerDataSource не вызывается при reloadData. Второй возвращает положительное целое число:
- (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller;
Я не понимаю проблему, я знаю только, чтооба метода верны, потому что я тестировал, нажимая QLPreviewController в UINavigationController.
Я прочитал несколько сообщений:
Настройка QLPreviewController
ДобавлениеQLPreviewController в качестве подпредставления не загружает PDF
Представление QLPreviewController
пусто QLPreviewController в iOS-приложении
... но это мне не помогает