如何显示 NSDocument 目录中的所有图像

2023-11-26

首先,我从照片库中选择图像到 ALAsset 库,然后将图像存储在 ALAsset 库路径的文档目录中。

我正在使用此代码将图像存储在 ALAsset 库的文档目录中...它工作完美...现在我想在表视图中显示存储在文档目录中的所有图像..我该怎么做? 有谁能够帮助我??

将图像从 ALAsset 库导入到 NSdocument 目录的代码

for (int j=0; j<[assetArray count]; j++) {

ALAssetRepresentation *representation = [[assetArray objectAtIndex:j] defaultRepresentation];
NSString* filename = [documentPath stringByAppendingPathComponent:[representation filename]];

[[NSFileManager defaultManager] createFileAtPath:filename contents:nil attributes:nil];
NSOutputStream *outPutStream = [NSOutputStream outputStreamToFileAtPath:filename append:YES];
[outPutStream open];

long long offset = 0;
long long bytesRead = 0;

NSError *error;
uint8_t * buffer = malloc(131072);
while (offset<[representation size] && [outPutStream hasSpaceAvailable]) {
    bytesRead = [representation getBytes:buffer fromOffset:offset length:131072 error:&error];
    [outPutStream write:buffer maxLength:bytesRead];
    offset = offset+bytesRead;
}
[outPutStream close];
free(buffer);

}

之后我使用以下代码获取了目录的内容:

 NSFileManager *manager = [NSFileManager defaultManager];
fileList = [manager directoryContentsAtPath:newDir];

它也可以工作...但是现在当我想显示文档目录中的图像时。它没有显示任何东西......

 setImage.image=[UIImage imageNamed:[filePathsArray objectAtIndex:0]];

谁能帮忙啊,问题出在哪里???? - 我有一个疑问: *将图像从 ALAsset 库导入到文档目录的正确方法吗???


这个答案是关于如何从文档目录中检索图像并将其显示到 UITableView.....

首先,您必须将文档目录中的所有图像获取到数组中......

-(void)viewWillAppear:(BOOL)animated
{

    arrayOfImages = [[NSMutableArray alloc]init];
NSError *error = nil;


    NSString *stringPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];

    NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath: stringPath  error:&error];

  for(int i=0;i<[filePathsArray count];i++)
  {
      NSString *strFilePath = [filePathsArray objectAtIndex:i];
      if ([[strFilePath pathExtension] isEqualToString:@"jpg"] || [[strFilePath pathExtension] isEqualToString:@"png"] || [[strFilePath pathExtension] isEqualToString:@"PNG"]) 
      {
         NSString *imagePath = [[stringPath stringByAppendingString:@"/"] stringByAppendingString:strFilePath];
         NSData *data = [NSData dataWithContentsOfFile:imagePath];
        if(data)
        {
          UIImage *image = [UIImage imageWithData:data];
          [arrayOfImages addObject:image];
        }
      }

  }

}

之后 - 使用此数组,您可以在 uitableview 单元格中显示图像 请记住,在数组填满之前,不要在视图上添加表视图......

#pragma mark - UItableViewDelegate methods
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [arrayOfImages count];
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tablView dequeueReusableCellWithIdentifier:CellIdentifier];
    if(cell == nil)
    {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    //adjust your imageview frame according to you
    UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0.0, 0.0, 470.0, 80.0)];

    [imageView setImage:[arrayOfImages objectAtIndex:indexPath.row]];
    [cell.contentView addSubview:imageView];
    return cell;

}

现在运行它就可以工作了..

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何显示 NSDocument 目录中的所有图像 的相关文章

随机推荐

  • 将图像放入 BUTTON 元素内(HTML 和 CSS)

    我有一个简单的按钮 如下所示 我需要在其上显示两张图片 一张位于按钮文本的两侧 我正在努力创建可在 Firefox 和 Internet Explorer 中使用的 CSS 按钮图像来自 JQuery UI 皮肤文件 CSS button
  • 在 Javascript 中生成 4 个随机数并与某个值相加

    我想要一些 javascript 它可以让我生成 4 个随机数 这些数字加起来等于某个值 例如 if max 20 then num1 4 num2 4 num3 7 num4 5 or max 36 then num1 12 num2 5
  • 如何添加左栏按钮而不覆盖自然后退按钮?

    我有一个使用嵌入在导航视图控制器中的 UIViewController 的项目 因此每当我进入表格视图的任何细节时 都会自动为我设置后退按钮 现在我想在后退按钮旁边添加一个编辑按钮 我已经在右侧放置了一个 取消分配 按钮 并且由于 取消分配
  • addEventListener 与 onclick

    有什么区别addEventListener and onclick var h document getElementById a h onclick dothing1 h addEventListener click dothing2 上
  • WPF ToggleButton IsChecked 触发器

    这让我抓狂 我有一个简单的 WPF 切换按钮 有两个 IsChecked 触发器 一个表示值为 true 另一个表示值为 false 当未选中按钮时它工作正常 应用了我的 false 样式 但是 系统从不应用 IsChecked 为 tru
  • 是否可以将 OpenCV GpuMat 绑定为 OpenGL 纹理?

    除了以下内容之外 我找不到任何参考 http answers opencv org question 9512 how to bind gpumat to texture 其中讨论了 CUDA 方法 理想情况下 我想用以下内容更新 Open
  • 重复的 GetAccessRules、FileSystemAccessRule 条目

    我从下面的代码中得到了重复的 FileSystemAccessRule C inetpub wwwroot AspInfo Account BUILTIN IIS IUSRS Allow ReadAndExecute Synchronize
  • 要求作者为帖子设置特色图片

    我已经自定义了我的 WordPress 网站设计 以过度使用特色图像来发布帖子 这就是为什么我需要要求非管理员发布的所有帖子都需要一组特色图像 这怎么可能 您需要将发布操作挂接到您编写的自定义插件中 虽然这需要一个标题 但这应该可以帮助您开
  • 如何创建仅 alpha 位图上下文

    苹果技术说明QA1037说 要创建仅 alpha 位图上下文 只需为颜色空间参数传递 NULL 即可 但是 我不确定该传递什么bitmapInfo范围 我正在尝试这样的事情 使用 kCGImageAlphaOnly CGContextRef
  • 当存在另一个属性时,将可选属性设为必需

    我有如下所示的 proptypes interface Props resource string create boolean route string 从上面可以看出 create 和route 是可选的props 但是 我想实现这样的
  • 在 C# 中获取下载文件夹? [复制]

    这个问题在这里已经有答案了 我编写了一些代码来搜索目录并在列表框中显示文件 DirectoryInfo dinfo2 new DirectoryInfo C Users Hunter Downloads FileInfo Files2 di
  • ld:找不到框架 Flutter

    当我在 iOS 模拟器上构建 iOS 的 flutter 项目时 出现错误 ld framework not found Flutter 并且构建失败 这是当我尝试从 xcode 构建 flutter 项目时出现的错误消息 export I
  • ASP.NET MVC 2 - HTML.EditorFor() 和自定义编辑器模板

    随着 MVC 2 添加 HtmlHelper EditorFor 不可能为给定的 Model 对象创建强类型的 Display 和 Editor 模板 在摆弄它之后 我有点困惑如何将额外的 Model 数据传递到编辑器而不丢失编辑器控件的强
  • HTML5 数据列表值与内部文本

    我遇到了 Chrome 和 Firefox 对 HTML5 datalist 元素的处理之间出现的问题 我可能滥用了它 Firefox 正在按照我期望的方式处理它 但 Chrome 却不是 我还没有在 Opera 上尝试过 这是针对内部页面
  • 使用 FILTER_VALIDATE_REGEXP 的 filter_var

    我正在练习我的 PHP 初学者技能 想知道为什么这个脚本总是返回 FALSE 我究竟做错了什么 namefields a zA Z s value john if filter var value FILTER VALIDATE REGEX
  • 打印n层调用堆栈?

    在 Visual Studio 中使用 C 我想知道是否有一个 API 可以为我打印调用堆栈 最好 我想打印 5 层深度的调用堆栈 Windows 是否提供了一个简单的 API 来允许我执行此操作 看起来 Microsoft 的 DbgHe
  • Xcode 7:链接器命令再次失败,退出代码为 1(使用 -v 查看调用)

    我在 Xcode 7 的 iOS 模拟器上测试我的应用程序 但当我尝试在我的 iOS 设备 带有 iOS 9 的 iPhone 5S 中测试时 我今天 09 16 2015 更新了 xcode 7 和 iOS9 在此之前使用 iOS 8 4
  • 如何从主机外部(同一网络)连接到 docker 容器 [OSX 10.11]

    设置 计算机 A 这是 Docker 机器 默认 运行的地方 虚拟盒子 default 正在运行一个名为 Odoo 的容器 默认 是使用创建的Docker的安装过程 奥杜 是 创建使用Odoo的安装过程 计算机 B 这是同一局域网 LAN
  • 修改 CDO.Message 对象中附件的内容类型

    当我尝试使用 VBScript 将 MHTML 文件作为电子邮件附件添加到电子邮件中时 ContentMediaType被错误地设置为 message rfc822 RFC 822 据我了解 根据 Microsoft 的说法这是正确的 但根
  • 如何显示 NSDocument 目录中的所有图像

    首先 我从照片库中选择图像到 ALAsset 库 然后将图像存储在 ALAsset 库路径的文档目录中 我正在使用此代码将图像存储在 ALAsset 库的文档目录中 它工作完美 现在我想在表视图中显示存储在文档目录中的所有图像 我该怎么做