Tag: quicklook

使用QLPreviewController快速显示文档

从远程URL显示文件。 假设我们有一个必须在应用程序中显示的文档的远程URL。 在显示任何此类文档之前,我们必须将文件下载到app目录,然后才能显示该文件。 为什么不应该将远程URL作为QLPreviewItem传递? 您可能会认为QLPreviewItem是NSURL类型,我们可以执行类似的操作以直接显示文件。 QLPreviewItem = remoteURL 为! 网址 是!! 我们做得到。 该文档也可能会显示。 但这不是处理远程URL的正确方法。 如果我们不下载就显示大尺寸文档,则将看不到它们。 共享文档时可能会导致崩溃。 所以这就是我们要做的。 看图 我们将异步下载文件,下载后,文件应从临时 位置移至destinationURL 。 并且此destinationURL将用于在QLPreviewController中显示文件。 见图,我们在完成块中返回fileLocation 。 如果您不知道完成块。 看看链接。 同样,我们都已设置为显示来自远程URL的文件。 我们只需要按下按钮displayFileFromURL(_ sender:UIButton)。 您可以从我的Git存储库QuickLookDemo下载完成的演示项目。 摘要 伙计们,这一切都是关于我对Quick Look框架的经验。 我最近使用了此功能,因此想与大家分享。 尝试一下,让我知道我是否错过任何事情。 祝您好运,如果您喜欢或学到新东西,请推荐并分享。

QuickLook类不工作

我有这个类,工作正常 导入UIKit导入QuickLook class ViewController: UITableViewController, QLPreviewControllerDataSource { var urlList : [NSURL]? = { if let fileURL1 = NSBundle.mainBundle().URLForResource("Essay", withExtension:"txt"), let fileURL2 = NSBundle.mainBundle().URLForResource("Image", withExtension:"jpg"), let fileURL3 = NSBundle.mainBundle().URLForResource("Letter", withExtension:"docx"), let fileURL4 = NSBundle.mainBundle().URLForResource("Newsletter", withExtension:"pages"), let fileURL5 = NSBundle.mainBundle().URLForResource("Presentation", withExtension:"key"), let fileURL6 = NSBundle.mainBundle().URLForResource("VisualReport", withExtension:"pdf"), let fileURL7 = NSBundle.mainBundle().URLForResource("aaa", withExtension:"x") { return [ fileURL1 , fileURL2, […]

iOS – 通过Quicklook打开PDF,而不使用UIScrollView

我试图通过QuickLook框架打开一个PDF,而不使用UIScrollView … 我相信我错过了一些东西 我相信我会错误的是,我需要使用QLPreviewController,并在QLPreviewController是一个数据源,必须符合QLPreviewItem。 该文档指出,NSURL确实符合QLPriewItem,所以我将preview.dataSource设置为引发错误的NSURL: [NSURL numberOfPreviewItemsInPreviewController:]:无法识别的select器发送到实例 终止由于未捕获exception“NSInvalidArgumentException”的应用程序,原因:' – [NSURL numberOfPreviewItemsInPreviewController:]:无法识别的select器发送到实例0x5b5f200' 这使我认为NSURL不符合。 我认为所有的代码是必要的… – (BOOL)previewController:(QLPreviewController *)controller shouldOpenURL:(NSURL *)url forPreviewItem:(id <QLPreviewItem>)item { return YES; } – (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller { return [documents count]; } – (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index { return [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:[documents objectAtIndex:index] ofType:nil]]; } – […]

Quicklook / QLPreviewController,与iOS 8的一些问题,但一切适用于iOS 7.1

我正在使用QuickLook查看PDF文件。 它在iOS 7.1中正常工作,但iOS 8 GM发生了一些问题。 图片比文字好,我想告诉你的问题: iOS 7.1的Xcode 6(工作正常) 使用QuickLook进行转换(无失败) 页面滚动,导航栏隐藏得很好 ————————————————– ———————— 而现在,iOS 8 GM与Xcode 6 使用QuickLook进行过渡… 页面滚动,navigationBar不隐藏,页面指示器隐藏在NavigationBar后面 与iPhone模拟器,iPad模拟器,iPhone设备和iPad设备同样的问题。 你可以在这里看到我的源代码: – (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)previewController { NSInteger numToPreview = 0; if (currentSection == CVSectionConvocations) numToPreview = self.convocation.convocations.count; else if (currentSection == CVSectionAttachments) numToPreview = self.convocation.attachements.count; return numToPreview; } – (id)previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)idx { PDF *pdf; if […]

presentOpenInMenuFromRect不工作DocumentHandler.h – QuickLook

我正在使用documenthandler的cordova插件,如果我点击button,我得到的文档处理程序从PDF文件处理程序的工作正常,以便我可以将PDF保存到iBooks。 现在,而不是在查看器中打开文档,并单击共享button,然后再次单击以保存到iBooks我需要能够触发分享button,而无需打开文档。 我知道这可以使用presentOpenInMenuFromRect而不是presentViewController来完成,但由于某些原因,下面的代码不起作用: #import "DocumentHandler.h" @implementation DocumentHandler – (void)HandleDocumentWithURL:(CDVInvokedUrlCommand*)command; { CDVPluginResult *commandResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:@""]; __weak DocumentHandler* weakSelf = self; dispatch_queue_t asyncQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(asyncQueue, ^{ NSDictionary* dict = [command.arguments objectAtIndex:0]; NSString* urlStr = dict[@"url"]; NSURL* url = [NSURL URLWithString:urlStr]; NSData* dat = [NSData dataWithContentsOfURL:url]; NSString* fileName = [url lastPathComponent]; NSString* path = […]

添加QLPreviewController作为子视图不会加载PDF

我试图添加一个QLPreviewController的视图作为子视图(不 – 我不能使用导航控制器或模式)。 它只显示QLPreviewController的结构背景。 我创build一个并将其添加为子视图: 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 […]