【问题标题】:QLPreviewController not updating the previewItem in iOS6QLPreviewController 未更新 iOS6 中的 previewItem
【发布时间】:2012-10-30 10:30:15
【问题描述】:

我将文件保存在文档目录中并将其加载到 - (id)previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)idx 和 [NSURL fileURLWithPath:self.path];

返回的网址是正确的图片。但 QLPreviewController 显示最后保存的图像。此问题仅在 iOS6 中出现。

代码如下:

-(void)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;

    }

【问题讨论】:

    标签: ipad ios6 qlpreviewcontroller


    【解决方案1】:

    当我关闭 QLPreviewController 时,我通过从文档目录中删除该文件解决了这个问题

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      • 2014-12-20
      • 1970-01-01
      • 2012-06-19
      相关资源
      最近更新 更多