Ipad QLPreviewController未在iOS6中更新previewItem
我正在文档目录中保存文件并将其加载到-(id)previewController:(QLPreviewController*)previewController previewItemAtIndex:(NSInteger)idx中,其中包含[NSURL fileURLWithPath:self.path] 返回的url是正确的图像。但是QLEVIEWCONTROLLER显示最后保存的映像。此问题仅在iOS6中出现 代码如下: -(void)加载和保存文件{Ipad QLPreviewController未在iOS6中更新previewItem,ipad,ios6,qlpreviewcontroller,Ipad,Ios6,Qlpreviewcontroller,我正在文档目录中保存文件并将其加载到-(id)previewController:(QLPreviewController*)previewController previewItemAtIndex:(NSInteger)idx中,其中包含[NSURL fileURLWithPath:self.path] 返回的url是正确的图像。但是QLEVIEWCONTROLLER显示最后保存的映像。此问题仅在iOS6中出现 代码如下: -(void)加载和保存文件{ NSData *data = [NSD
NSData *data = [NSData dataWithContentsOfURL:self.mainURL];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *arr=[self.urlString componentsSeparatedByString:@"."];
NSString *str=[arr lastObject];
self.pdfPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"Preview.%@",str]];
[data writeToFile:self.pdfPath atomically:YES];
[self preview];
}
其中preview是初始化QLPreviewController的方法
在datasource方法previewItemAtIndex中,我得到如下路径
fileURL1=[NSURL fileURLWithPath:self.pdfPath];
NSLog(@“%@”,fileURL1)
我在关闭QLViewController时从文档目录中删除了该文件,从而解决了这个问题 n错误*err=nil; [[NSFileManager defaultManager]removitematpath:self.pdfPath错误:&err] 现在它可以在iOS4.3、iOS5.1和iOS6上完美地工作
if ([QLPreviewController canPreviewItem:fileURL1]) {
NSLog(@"///////%@",fileURL1);
return fileURL1;
}