原理:获取手机里的全部照片,显示在自定义的视图里
//获取到相册的所有图片
- (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;
}