//
// ViewController.m
// SelectMorePhoto
//
// Created by phc on 16/7/17.
// Copyright © 2016年 phc. All rights reserved.
//
#import "ViewController.h"
#import <AssetsLibrary/AssetsLibrary.h>
#import <Photos/Photos.h>
@interface ViewController ()<UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
@property(nonatomic,strong)NSMutableArray *imgArr;
@property (strong, nonatomic) UICollectionView *collectionView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
_imgArr = [NSMutableArray array];
//1.创建资源库对象(资源库中包含所有的视频和照片)
ALAssetsLibrary * library = [[ALAssetsLibrary alloc] init];
//遍历资源库
[library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
//ALAssetsGroup代表资源库中的一个相册
if (group) {//如果存在,在遍历
//遍历相册中的所有的资源(包括照片,和视频)
[group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {
/*
if (index == 3) {
*stop = YES;
}
*/
//ALAsset代表一个照片
//获取图片的缩略图
CGImageRef cimg = [result thumbnail];
UIImage *img = [UIImage imageWithCGImage:cimg];
//容错
if (img) {
[_imgArr addObject:img];
}
}];
}
[_collectionView reloadData];
} failureBlock:^(NSError *error) {
NSLog(@"访问失败");
}];
[self creactCollection];
}
- (void)creactCollection{
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
//设置单元格尺寸
flowLayout.itemSize = CGSizeMake(70, 70);
_collectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:flowLayout];
_collectionView.backgroundColor = [UIColor greenColor];
//设置代理方法和数据源方法
_collectionView.delegate = self;
_collectionView.dataSource = self;
[self.view addSubview:_collectionView];
[_collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cell"];
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return _imgArr.count;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
UIImageView *imgView = [[UIImageView alloc] initWithFrame:cell.bounds];
imgView.backgroundColor = [UIColor redColor];
[cell.contentView addSubview:imgView];
imgView.image = _imgArr[indexPath.row];
return cell;
}
@end
网友评论