【发布时间】:2011-12-09 21:25:38
【问题描述】:
我在使用 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;
我不明白这个问题,我只知道这两种方法都是正确的,因为我通过在 UINavigationController 中推送 QLPreviewController 进行了测试。
我看了一些帖子:
Customizing QLPreviewController
Adding QLPreviewController as subview doesn't load PDF
blank QLPreviewController in iOS application
...但这对我没有帮助
【问题讨论】:
标签: pdf uiview datasource subview qlpreviewcontroller