1

我将文件保存在文档目录中并将其加载到 - (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;

    }
4

1 回答 1

0

当我关闭 QLPreviewController 时,我通过从文档目录中删除该文件来解决它

NSError *err=nil; [[NSFileManager defaultManager] removeItemAtPath: self.pdfPath error:&err];

现在它在 iOS4.3、iOS5.1 和 iOS6 上完美运行

于 2012-10-31T06:52:37.853 回答