本文主要提供一个博主自己封装的一个iOS本地图片库封装调用以及相机调用库(此次封装的本地图片库图片列表显示界面属于自定义界面,基本逻辑就是首先取到手机中的所有图片,然后再在自定义的界面中进行显示),由于相机调用并没难度,因此以下主要讲解如果获取到本地图片库中的所有图片进行显示,以下是获取到图片的方法:
注:在此包中有一个UseRule的文件,此文件为此库的使用方法,在文章底部附带此库github的下载地址;
本地图片库图片数据的获取:
#pragma mark - 获取手机所有图片(以block的方式返回数据,数组中每个元素都是UIImage)
- (void)obtainAllPhoto:(void (^)(NSMutableArray *))success
{
ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init];
/// @brief 存放media的数组
NSMutableArray<UIImage *> *mediaArray = [[NSMutableArray<UIImage *> alloc] init];
/// @brief 存放media的数组
[assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
if (group) {
/// @brief 获取所有group
[group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {
/// @brief 从group里面
NSString *assetType = [result valueForProperty:ALAssetPropertyType];
if ([assetType isEqualToString:ALAssetTypePhoto]) {
UIImage *image = [UIImage imageWithCGImage:result.thumbnail];
[mediaArray addObject:image];
}
}];
}
else{
success(mediaArray);
}
} failureBlock:^(NSError *error) {
}];
// NSLog(@"%@",mediaArray);
}
本地图片库封装、相机调用封装包: 点击下载
如有不明白的地方欢迎咨询:
QQ:294491256
Telephone:13390517636