我正在文件目录中保存文件并将其加载到 - (id)previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)idx with [NSURL fileURLWithPath:self.path];
返回的网址是正确的图片。但是QLPreviewController显示最后保存的图像。这个问题仅在iOS6中出现。
这是代码:
- (无效)loadAndSaveFile {
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
的方法并且在数据源方法previewItemAtIndex中,我正在获得这样的路径
fileURL1 = [NSURL fileURLWithPath:self.pdfPath]; 的NSLog(@ “%@”,fileURL1);
if ([QLPreviewController canPreviewItem:fileURL1]) {
NSLog(@"///////%@",fileURL1);
return fileURL1;
}
答案 0 :(得分:0)
我通过在关闭QLPreviewController
时从文档目录中删除该文件来解决它NSError * err = nil; [[NSFileManager defaultManager] removeItemAtPath:self.pdfPath error:& err];
现在它完全适用于iOS4.3,iOS5.1和iOS6