【问题标题】:QLPreviewController as subviewQLPreviewController 作为子视图
【发布时间】: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

QLPreviewController's view

blank QLPreviewController in iOS application

...但这对我没有帮助

【问题讨论】:

    标签: pdf uiview datasource subview qlpreviewcontroller


    【解决方案1】:

    将 QLPreviewController 作为 childViewController 嵌入到新的自定义容器视图控制器中。 不要试图直接弄乱它的视图结构IMO

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-19
      • 1970-01-01
      相关资源
      最近更新 更多