我正在创建一个将文件保存到iPhone文档目录的应用程序,然后当重新加载View Controller时,它将从同一位置获取并显示它。但它并没有取出并显示它。
我使用以下方法保存图像:
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开发的新手。
答案 0 :(得分:3)
替换此行:[self.imageView setImage:[UIImage imageNamed: filePath]];
这一个:
UIImage *image = [[UIImage alloc] initWithContentsOfFile:filePath];
[self.imageView setImage:image];
答案 1 :(得分:1)
您可以将[UIImage imageNamed:]
与Documents文件夹中的图像一起使用,并享受底层缓存机制的好处,但文件路径略有不同。
使用以下内容:
NSString *fileName = [NSString stringWithFormat:@"../Documents/%@.png", self.fullname.text];
UIImage *image = [UIImage imageNamed:fileName];
答案 2 :(得分:0)
您需要使用方法
- (UIImage*)initWithContentsOfFile:(NSString*)path
从Documents或Cache目录初始化图像。
imageNamed:用于从应用程序包中获取图像。