gpt4 book ai didi

ios - 从 app 目录中的文件创建要加载到 tableview 中的图像缩略图

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:48:19 26 4
gpt4 key购买 nike

我需要一些帮助来解决我无法解决的问题,但我认为我已接近解决方案。这是它:

在我的应用程序的一个版本中,我能够使用以下两行使用从 Assetlibrary 中获取的图像填充 TableView (在 CellforRowAtIndexPath 中):

ALAsset someAsset = [theAssets objectAtIndex:indexPath.row];
[cell.imageView setImage:[UIImage imageWithCGImage:[someAsset thumbnail]]];

现在,我正在尝试从目录中读取图像文件并将其存储在 NSMutableArray 中。当我 NSLog NSMutableArray 时,我可以看到文件名。但是我现在如何将文件转换为图像并显示在我的 tableview 中,就像我为什么使用 Assetlibrary 一样?我已经尝试了几次,但应用程序要么崩溃,要么在表格 View 中不显示图像缩略图。例如,此语句不显示图像但应用程序不崩溃:

UIImage *anImage = [UIImage imageWithContentsOfFile:[self.listTable objectAtIndex:0]];

当我在下一行中设置图像时,它不起作用。有人请帮忙!

更新:当我使用 NSLog 时,self.listable 的内容是这样的:“19-10-25 276-10-12.jpg”, "19-10-37 276-10-12.jpg", "19-10-54 276-10-12.jpg", “19-10-65 276-10-12.mov”等

当我 NSLog 我的文档目录时,它是:/var/mobile/Applications/8CB1368A-AAE2-4815-BD26-A7B7C8536193/Documents。

最佳答案

应用程序只能imageWithContentsOfFile 用于位于应用程序沙箱内的文件(例如,在Documents、 bundle 等中)如果这些文件位于您的Documents 文件夹,您可以通过以下方式获得完整路径:

NSString *documentsFolder = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *imageFullPath = [documentsFolder stringByAppendingPathComponent:imageFilename];

然后您可以在 imageWithContentsOfFile 中使用它。


更新:

你问:

my directoryContents is an NSArray; how do I convert it to NSString and then [documentsFolder stringByAppendingPathComponent ...] and store each fullpath in the NSMutableArray?

你可以这样做:

NSFileManager *fileManager   = [NSFileManager defaultManager];
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSArray *filenames = [fileManager contentsOfDirectoryAtPath:documentsDirectory error:nil];
NSMutableArray *paths = [[NSMutableArray alloc] initWithCapacity:[filenames count]];

for (NSString *filename in filenames)
{
[paths addObject:[documentsDirectory stringByAppendingPathComponent:filename]];
}

NSLog(@"%s filenames = %@", __FUNCTION__, filenames);
NSLog(@"%s paths = %@", __FUNCTION__, paths);

关于ios - 从 app 目录中的文件创建要加载到 tableview 中的图像缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12711337/

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