我将文件保存在文档目录中并将其加载到 - (id)previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)idx 和 [NSURL fileURLWithPath:self.path];
返回的网址是正确的图像。但 QLPreviewController 显示最后保存的图像。此问题仅在 iOS6 中出现。
这是代码:
-(无效)加载和保存文件{
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;
}