正如标题所说,我需要显示存储在远程服务器中的PDF文件,而无需使用URL链接在设备上下载。是否可以使用Quick Look
框架来实现?
我在下面使用以下代码:
- (void)openDocument {
QLPreviewController *docPreviewController = [[QLPreviewController alloc] init];
[docPreviewController setDataSource:self];
[docPreviewController setDelegate:self];
[docPreviewController setCurrentPreviewItemIndex:sender.tag];
[self.destinationViewController presentViewController:docPreviewController animated:true completion:nil];
}
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller {
return 1;
}
- (id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index {
return [NSURL fileURLWithPath:@"http://www.domain.com/file.pdf"];
}
但是我在控制台中遇到了这个问题:
UIDocumentInteractionController: invalid scheme https. Only the file scheme is supported.
答案 0 :(得分:0)
否,当前的QLFramework不支持。 所有quicklook支持的项目都应符合“ QLPreviewItem”协议。 根据QL的文件
QLPreviewItem协议中的方法也被声明为NSURL类的类别。因此,您可以将NSURL对象直接用作预览项目,前提是您要使用这些项目的默认标题。
QLPreviewItem协议包含PreviewItemURL属性,这是一个URL类型。但是该文件直接告诉我们:
此属性的值必须是文件类型的URL。
换句话说,它不接受其他网址架构。
答案 1 :(得分:-1)
我已使用UIDocumentInteractionController
UIDocumentInteractionController *viewer = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:path]];
viewer.delegate = self;
[viewer presentPreviewAnimated:YES];