本文实例为大家分享了iOS实现相册多选图片上传的具体代码,供大家参考,具体内容如下
原理:获取手机里的全部照片,显示在自定义的视图里
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
//获取到相册的所有图片
- ( 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;
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。