1.在公司的項(xiàng)目中誊役,圖片選擇的時候需要自己定義一個圖片選擇器获列,自己根據(jù)PhotoKit寫了一個Demo,也順便學(xué)習(xí)了一下PhotoKit蛔垢,自己擴(kuò)展了一下击孩,既能選擇圖片也能選擇視頻。
1.1 圖片選擇鹏漆,如下圖:
1.2 獲取相冊巩梢,如下圖:
1.3 視頻選擇橘原,如下圖:
2.相冊和媒體的獲取代碼主要在ZCPhotoManager這個類里面但金,接下來可能寫一篇關(guān)于PhotoKit介紹的博客绒怨。
2.1 獲取相冊
- (NSMutableArray *)showAlbums {
PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeAlbumRegular options:nil];
PHFetchResult *topLevelUserCollections = [PHCollectionList fetchTopLevelUserCollectionsWithOptions:nil];
self.fetchResults = @[smartAlbums, topLevelUserCollections];
NSMutableArray *albums = [NSMutableArray array];
for (PHFetchResult *fetchResult in self.fetchResults)
{
for (PHCollection *collection in fetchResult) {
if ([collection isKindOfClass:[PHAssetCollection class]])
{
PHAssetCollection *assetCollection = (PHAssetCollection *)collection;
PHFetchResult *assets = [self assetsInAssetCollection:assetCollection];
if (assets.count > 0) {
if (assetCollection.assetCollectionSubtype == PHAssetCollectionSubtypeSmartAlbumUserLibrary) {
[albums insertObject:assetCollection atIndex:0];
} else {
[albums addObject:assetCollection];
}
}
}
}
}
return albums;
}
2.2 獲取相冊中的媒體
- (PHFetchResult *)assetsInAssetCollection:(PHAssetCollection *)album{
PHFetchOptions *options = [[PHFetchOptions alloc] init];
options.predicate = [NSPredicate predicateWithFormat:@"mediaType in %@", self.mediaTypes];
options.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]];
return [PHAsset fetchAssetsInAssetCollection:(PHAssetCollection *)album options:options];
}
2.3 然后主要的功能就是圖片的展示倘零,布局。
3.直接上Demo
github地址
3.1 由于時間比較短蛔溃,里面的UI寫的可能有點(diǎn)粗糙营搅,主要是為了自己學(xué)習(xí)掺炭,就這樣吧秒梳。
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者