在iOS中显示PDF 11
问题描述:
我已经尝试过没有运气的WKWebView。现在我试图使用QLPreviewController。在iOS中显示PDF 11
我创建了一个UIViewController,并将它在QLPreviewController下进行了子类化。
在我viewDidLoad中我设置委托和数据源:
self.dataSource = self;
self.delegate = self;
self.currentPreviewItemIndex = 0;
然后我有以下两种方法来获取项目在视图控制器和数字文件路径:
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller {
return 1;
}
- (id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index {
NSString *pdfPath = [[NSBundle mainBundle] pathForResource:@"BOR" ofType:@"pdf"];
NSURL *fileURL = [[NSURL alloc] initWithString:pdfPath];
return fileURL;
}
当我导航到我的视图控制器时,视图是灰色的并显示以下文本:
“无文件预览”
我在做什么错?
答
看来你已经子类QLPreviewController?这是非法的和不必要的。您只需制作一个预览控制器,对其进行配置,然后推送或呈现它。
在你的'return fileURL' - >上添加一个打印语句/断点,并检查该文件是否位于该URL:'FileManager.default.fileExists(_ atPath:String)'。 –
是的文件确实存在 –
不要接受文件路径并将其转换为URL。取其URL('URLForResource')。在你回来之前,看看它是否是'nil'。 – matt