【问题标题】:Load images from a documents subdirectory into UICollectionViewCell将文档子目录中的图像加载到 UICollectionViewCell
【发布时间】:2013-03-24 19:21:29
【问题描述】:

我在“/Documents/saved/”目录中有几张 png 格式的图像。 我将此目录加载到一个名为“contents”的数组中 当我使用 NSLog 查看该数组的内容时,我会看到图像以及 .DS_STORE 文件 我想要做的是将所有这些图像加载到 UICollectionView 单元格中。

我试过了,

[[cell collectionImageView] setImage:
        [UIImage imageWithContentsOfFile:
              [contents objectAtIndex:indexPath.item]]];

collectionImageView连接到UICollectionViewCell中的UIImageView

但它似乎不起作用。编辑

    NSString *dataPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/DImage"];
NSArray *contents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:dataPath error:NULL];

NSLog(@"%@", 内容);

这给了我输出

2013-03-25 10:37:20.186 aUX[543:c07] (
".DS_Store",
"savedImage_0.png",
"savedImage_1.png",
"savedImage_2.png",
"savedImage_3.png",
"savedImage_4.png",
"savedImage_5.png"
)

(我拖了一个名为 collectionImageView 的 UIImageView。) 我需要在集合视图单元格中一一显示这些图像。

【问题讨论】:

  • 多一点代码会有所帮助。 contents 数组中有什么?
  • 什么不起作用?

标签: ios objective-c collectionview


【解决方案1】:

不清楚您使用的是什么数据类型。也许打破你的单线可能有助于使情况更加清晰。此外,通过这种方式,您可以使用 NSLog 或在调试器中检查每个步骤。

NSString *fileName = [contents objectAtIndex:indexPath.item]; 
NSString *path = [filesDirectory stringByAppendingPathComponent:fileName];
UIImage *image = [UIImage imageWithContentsOfFile:path];
UIImageView *cellImageView =  cell.collectionImageView;
cellImageView.image = image; 

也许您的 contents 数组包含 NSURL 而不是 NSString。这样你就可以知道了。

【讨论】:

  • 当我记录 NSString *path 时,我得到 Path is .DS_Store Path is savedImage_0.png Path is savedImage_1.png Path is savedImage_2.png Path is savedImage_3.png Path is savedImage_4.png Path is savedImage_5。 png 我只是得到一个黑屏。也许是因为开头的 .DS_STORE 文件?
  • 不,你有一个文件名数组。你需要完整的路径。请参阅我的答案中的变化。
  • 这行得通!非常感谢 !但是只有第一个单元格是空白的(因为它正在显示 .DS_STORE 文件)。有什么建议吗?
  • 来吧,黛比,你可以解决这个问题!只需检查 .DS_Store 并将其删除或不添加到您的数组中。
【解决方案2】:
in ur cellForRowAtIndexPath
cell.collectionImage.image=[contents objectAtIndex:indexPath.row];
return cell;

【讨论】:

    猜你喜欢
    • 2012-03-31
    • 2023-03-25
    • 2015-01-07
    • 2015-08-08
    • 2012-09-04
    • 2012-01-27
    • 2010-11-04
    • 1970-01-01
    • 2013-08-27
    相关资源
    最近更新 更多