IOS实现相册多选图片上传功能
来源:爱站网时间:2020-08-21编辑:网友分享
在开发过程中,通常用于选择多个图像进行上传或其他处理,下面的的介绍满足了该功能的大部分功能,可以直接在项目中使用,一起跟随爱站技术频道小编的步伐来了解IOS实现相册多选图片上传功能吧!
在开发过程中,通常用于选择多个图像进行上传或其他处理,下面的的介绍满足了该功能的大部分功能,可以直接在项目中使用,一起跟随爱站技术频道小编的步伐来了解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开发中随机图片验证码的封装
