无法从 iPhone 文档目录位置中的已保存文件重新加载 UIImage

Posted

技术标签:

【中文标题】无法从 iPhone 文档目录位置中的已保存文件重新加载 UIImage【英文标题】:Can't Reload UIImage from Saved file in iPhone Documents Directory location 【发布时间】:2014-03-16 21:28:31 【问题描述】:

我正在制作一个将文件保存到 iPhone 文档目录的应用程序,然后当重新加载视图控制器时,它将从同一位置获取并显示它。但它并没有获取它并显示它。

我正在使用以下方法保存图像:

void UIImageWriteToFile(UIImage *image, NSString *fileName)

    NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentDirectoryPath = dirPaths[0];
    NSString *filePath = [documentDirectoryPath stringByAppendingPathComponent:fileName];

    NSData *imageData = UIImagePNGRepresentation(image);
    [imageData writeToFile:filePath atomically:YES];

我正在尝试使用以下代码从 viewDidLoad 方法中调用我保存的图像:

    NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentDirectoryPath = dirPaths[0];

    NSString *fileName = [NSString stringWithFormat:@"/%@.png", self.fullname.text];

    NSString *filePath = [documentDirectoryPath stringByAppendingString:fileName];
    [self.imageView setImage:[UIImage imageNamed: filePath]];

但是,它没有显示我的图像。谁能帮助我并告诉我哪里出错了。我是 ios 开发新手。

【问题讨论】:

【参考方案1】:

替换这一行:[self.imageView setImage:[UIImage imageNamed: filePath]];

有了这个:

UIImage *image = [[UIImage alloc] initWithContentsOfFile:filePath];
[self.imageView setImage:image];

【讨论】:

成功了!谢谢!但由于某种原因,它将图像逆时针加载 90 度。你知道这是为什么吗?另外,如何将其旋转回正常视图? self.imageView.image.imageOrientation【参考方案2】:

您可以将 [UIImage imageNamed:] 与 Documents 文件夹中的图像一起使用,并享受底层缓存机制的好处,但文件路径略有不同。

使用以下内容:

 NSString *fileName = [NSString stringWithFormat:@"../Documents/%@.png", self.fullname.text];
 UIImage *image = [UIImage imageNamed:fileName];

【讨论】:

【参考方案3】:

你需要使用方法

- (UIImage*)initWithContentsOfFile:(NSString*)path

从 Documents 或 Cache 目录中初始化图像。

imageNamed: 用于从应用程序包中获取图像。

【讨论】:

以上是关于无法从 iPhone 文档目录位置中的已保存文件重新加载 UIImage的主要内容,如果未能解决你的问题,请参考以下文章

将文件夹从主包复制到 iphone 中的文档目录

查找距我当前位置 100 米范围内的已保存位置

Swift 从特定文档目录位置删除所有文件

如何通过iphone中的sqlite获取路径来显示文档目录中保存的图像

保存 iphone 游戏状态的最佳位置在哪里 - xcode 4 中的 txt 文件

如何仅获取保存在iphone应用程序文档文件夹中的所有照片名称