iOS实现相册多选图片上传功能

发布时间 - 2026-01-11 02:42:46    点击率:

本文实例为大家分享了iOS实现相册多选图片上传的具体代码,供大家参考,具体内容如下

原理:获取手机里的全部照片,显示在自定义的视图里

//获取到相册的所有图片
- (void)addAllPhotos{
  @WeakObj(self);
  _assetsLibrary=[[ALAssetsLibrary alloc]init];
  [_assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
    @StrongObj(self);
    if (group) {
      [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {
        if (result) {
          // 把相册储存到数组中,方便后面展示相册时使用
          CGImageRef cgImage = [result thumbnail];
          UIImage *image = [UIImage imageWithCGImage:cgImage];
          NSData *imageData = UIImageJPEGRepresentation(image,0.5);
          UIImage *newImage = [UIImage imageWithData:imageData];
          UZGPhotoChooseModel *model=[[UZGPhotoChooseModel alloc]init];
          model.image=newImage;
          model.currentImageIsSelect=NO;//初始化默认未选中
          model.showBackView=NO;//是否显示背景遮罩
          model.row=index;
          [self.cellInfoArray addObject:model];
          [self.myCollectionView reloadData];
        }
      }];
    }
  } failureBlock:^(NSError *error) {
    
  }];
}
//选中图片后刷新图片上面的选中数字
- (selectCellBolck)reloadCellSelectBlock:(NSIndexPath *)indexPath{
  @WeakObj(self);
  __block UZGPhotoChooseModel *model=self.cellInfoArray[indexPath.row];
  selectCellBolck block=^(BOOL current_isSelect){
    if (selfWeak.selectNum>self.max_selectNum) {
      return;
    }
    if (current_isSelect) {
      selfWeak.selectNum++;
    }else{
      selfWeak.selectNum--;
    }
    model.currentImageIsSelect=current_isSelect;
    model.totalNum=selfWeak.selectNum;
    [selfWeak.cellInfoArray replaceObjectAtIndex:indexPath.row withObject:model];
    [selfWeak reloadCurrentNum];
    [selfWeak.myCollectionView reloadData];
  };
  return block;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# iOS相册多选图片上传  # iOS相册多选上传  # iOS相册图片上传  # 详解IOS开发中图片上传时两种图片压缩方式的比较  # 移动端html5图片上传方法【更好的兼容安卓IOS和微信】  # iOS实现压缩图片上传功能  # 微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题  # 自定义  # 大家分享  # 具体内容  # 大家多多  # 多选  # 图片上传  # 组中  # 机里  # BOOL  # stop  # StrongObj  # group  # usingBlock  # ALAssetsGroupSavedPhotos  # ALAssetsGroup  # index  # CGImageRef  # cgImage  # NSUInteger  # enumerateAssetsUsingBlock 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  如何在香港服务器上快速搭建免备案网站?  Laravel distinct去重查询_Laravel Eloquent去重方法  香港服务器建站指南:免备案优势与SEO优化技巧全解析  如何正确选择百度移动适配建站域名?  SQL查询语句优化的实用方法总结  lovemo网页版地址 lovemo官网手机登录  如何快速配置高效服务器建站软件?  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  如何快速搭建虚拟主机网站?新手必看指南  Laravel如何自定义错误页面(404, 500)?(代码示例)  高性能网站服务器部署指南:稳定运行与安全配置优化方案  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  如何在Windows虚拟主机上快速搭建网站?  android nfc常用标签读取总结  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  潮流网站制作头像软件下载,适合母子的网名有哪些?  Laravel如何为API编写文档_Laravel API文档生成与维护方法  制作企业网站建设方案,怎样建设一个公司网站?  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  如何在阿里云高效完成企业建站全流程?  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  如何解决hover在ie6中的兼容性问题  使用C语言编写圣诞表白程序  如何在阿里云部署织梦网站?  如何实现javascript表单验证_正则表达式有哪些实用技巧  Bootstrap整体框架之CSS12栅格系统  如何在宝塔面板中创建新站点?  如何在IIS中配置站点IP、端口及主机头?  如何在搬瓦工VPS快速搭建网站?  Laravel如何优化应用性能?(缓存和优化命令)  php json中文编码为null的解决办法  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  零服务器AI建站解决方案:快速部署与云端平台低成本实践  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  黑客入侵网站服务器的常见手法有哪些?  Linux安全能力提升路径_长期防护思维说明【指导】  Android 常见的图片加载框架详细介绍  Laravel如何实现多对多模型关联?(Eloquent教程)  制作电商网页,电商供应链怎么做?  Laravel如何创建自定义中间件?(Middleware代码示例)  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  nodejs redis 发布订阅机制封装实现方法及实例代码  如何在VPS电脑上快速搭建网站?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何在自有机房高效搭建专业网站?  EditPlus中的正则表达式实战(6)  Laravel Blade模板引擎语法_Laravel Blade布局继承用法