Добавление QLPreviewController в качестве подпредставления не загружает PDF

Я пытаюсь добавить представление QLPreviewController как подпредставление (нет - я не могу использовать контроллер Nav или модальный). Он показывает только фоновую структуру QLPreviewController.

Я создаю один и добавляю его как подпредставление:

QLPreviewController* preview = [[[QLPreviewController alloc] init] autorelease];
preview.dataSource = self;
preview.delegate = self;
preview.view.frame = CGRectMake(0, 0, self.pdfPreviewView.frame.size.width, self.pdfPreviewView.frame.size.height);
self.pdfPreviewView.previewController = preview;
[self.pdfPreviewView addSubview:preview.view];
[preview reloadData];

Мои методы QLPreviewControllerDataSource работают нормально (просматривая по 1 PDF за раз):

- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index
{
    NSString *path = [[ResourceManager defaultManager] pathForPDF:self.currentPDF];
    NSURL *url = [NSURL fileURLWithPath:path];

    if ([QLPreviewController canPreviewItem:url]) {
        return url; // This always returns
    }

    return nil; // This line is never executed
}
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller
{
    return 1;
}

Метод источника данных всегда возвращает URL файла, и QLPreviewController говорит, что он может открыть файл, но на самом деле он этого не делает. Я просто получаю фон.self.currentPDF устанавливается перед тем, как я создаю QLPreviewController, и содержит правильную информацию (из CoreData).

Методы делегата никогда не вызываются. Но я также не использую это стандартным способом, так что это не совсем неожиданно.

Я также пытался позвонить[preview setNeedsLayout], [preview setNeedsDisplay'], а также[preview refreshCurrentPreviewItem] но они просто вызывают методы источника данных и ничего не меняют.

PDF-файлы действительны. Я могу открыть их как в Xcode, так и в Preview, так что это не проблема. Я немного озадачен тем, почему это не сработает. Любая помощь будет оценена, чтобы заставить это работать.

Ответы на вопрос(1)

Ваш ответ на вопрос