AssetsLibrary框架提供了ALAssetsLibrary类来帮助我们访问相册程序管理下的照片和视频,官方文档见此。
if (!self.assetsLibrary) {
_assetsLibrary = [[ALAssetsLibrary alloc] init];
}
通过该框架,我们可以获取相册列表:
[_assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
if (group) {
[self.groupArray addObject:group];
}
} failureBlock:^(NSError *error) {
NSLog(@"Group not found!n");
}];
通过点击每个相册,我们可以访问相册里的照片列表:
#pragma mark -
- (void)getImages
{
if (!self.assetsArray) {
_assetsArray = [[NSMutableArray alloc] init];
}
if (!self.assetsLibrary) {
_assetsLibrary = [[ALAssetsLibrary alloc] init];
}
@autoreleasepool {
[self.assetsGroup enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {
if (result) {
TTAsset *ttAsset = [[TTAsset alloc] initWithAsset:result];
[self.assetsArray addObject:ttAsset];
[ttAsset release], ttAsset = nil;
}
}];
}
[self.tableView reloadData];
}
最后,我们可以通过自定义的Cell来定制展示风格,比如选中效果、底部选中列表等。