gpt4 book ai didi

objective-c - 从文档文件夹向Imageview添加图像未加载

转载 作者:行者123 更新时间:2023-12-01 19:15:37 25 4
gpt4 key购买 nike

我现在试图解决一个相当简单的问题一段时间,但没有成功。我将文件保存到设备上的Documents目录中,并稍后尝试使用Image View加载它。我确认该文件确实存在。为什么我的图像没有显示?

在此先感谢您的帮助。

这是我尝试将图像加载到ImageView中的代码:

 -(void)loadFileFromDocumentFolder:(NSString *) filename
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *outputPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithString: filename] ];

NSLog(@"outputPath: %@", outputPath);
UIImage *theImage = [UIImage new];
[UIImage imageWithContentsOfFile:outputPath];

if (theImage)
{
display = [UIImageView new];
display = [display initWithImage:theImage];

[self.view addSubview:display];
}
}

最佳答案

您的代码有问题。

UIImage *theImage = [UIImage new];

在这一行中,您将创建一个新的 UIImage对象,但不对其执行任何操作。
[UIImage imageWithContentsOfFile:outputPath]

此类方法将返回一个 UIImage对象,其中包含从文件中加载的图像。

您使用 UIImageView做同样的事情。
NSString *outputPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithString: filename] ];

另外,不需要 [NSString stringWithString: filename],只需创建一个多余的字符串即可,因为 filename已经是一个字符串。

您的代码应如下所示:
 -(void)loadFileFromDocumentFolder:(NSString *) filename {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *outputPath = [documentsDirectory stringByAppendingPathComponent:filename ];

NSLog(@"outputPath: %@", outputPath);
UIImage *theImage = [UIImage imageWithContentsOfFile:outputPath];

if (theImage) {
display = [[UIImageView alloc] initWithImage:theImage];
[self.view addSubview:display];
}
}

关于objective-c - 从文档文件夹向Imageview添加图像未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13587872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com