您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> ios >> 正文

iOS中通过AssetsLibrary来支持多图选择

作者:佚名    责任编辑:admin    更新时间:2022-06-22

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来定制展示风格,比如选中效果、底部选中列表等。