从文件夹中读取图像

时间:2010-09-06 16:12:04

标签: iphone png

如果我在我的资源中放置一个image.png文件,iphone将能够读取它。如果我将一个image.png文件放在iphone文件夹中,它不能读取?

我将图像从我的服务器发送到文档文件夹。没问题。

我以为iphone会自动在资源文件夹或文件夹中找到图像文件吗?

我确实为我的应用编写了任何代码来找到我的图像文件夹,只是通过文件名调用它,这是正确的。

任何想法?

THKS

// Get path to doc folder
NSArray *docpaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [docpaths objectAtIndex:0];
NSString *docpath = [documentsDirectory stringByAppendingPathComponent:@"Data.plist"];      
self.data = [NSArray arrayWithContentsOfFile:docpath];

从doc文件夹中完成加载plist。

现在我去plist,获取文件名并显示单元格。

NSDictionary *dataItem = [data objectAtIndex:indexPath.row];
cell.icon = [UIImage imageNamed:[dataItem objectForKey:@"Icon"]];

如何指定图像在我的文档文件夹中?

1 个答案:

答案 0 :(得分:5)

您可以使用imageWithContentsOfFile从文件创建UIImage。但是,如果文件位于文档文件夹中,则无法读取该文件。您需要获取文件的路径。检查this answer以了解如何获取文档文件夹的文件路径。

- 编辑
如果plist包含文档文件夹中的文件名,则将文件名从plist追加到文档文件夹路径以获取完整路径。希望能帮助到你。

NSArray *docpaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [docpaths objectAtIndex:0];
NSDictionary *dataItem = [data objectAtIndex:indexPath.row];
NSString *imagePath = [documentsDirectory stringByAppendingPathComponent:[dataItem objectForKey:@"Icon"]];
cell.icon = [UIImage imageWithContentsOfFile:imagePath];