我正在努力在iOS中制作自定义图库视图 因为我使用照片框架,到目前为止工作得很好 我无法让它工作的一件事是获取结果只返回VIDEOS
我试过了
let result = PHAssetCollection.fetchAssetCollectionsWithType(.Moment, subtype: .SmartAlbumVideos, options: nil)
但它仍在检索图像,我想知道是错误的语法
感谢您的帮助
答案 0 :(得分:1)
好的,我找到了问题的答案 基本上我需要使用一个谓词,这基本上是说检索mediatype是视频的资产,并通过creationDate对其进行排序
let allVideosOptions = PHFetchOptions()
allVideosOptions.predicate = NSPredicate(format: "mediaType == %d", PHAssetMediaType.Video.rawValue)
allVideosOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
videos = PHAsset.fetchAssetsWithOptions(allVideosOptions)
答案 1 :(得分:0)
这是目标代码。
PHFetchOptions* fetchOptions;
// all photos
fetchOptions = [[PHFetchOptions alloc] init];
fetchOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]];
if( self.bOnlyVideo == YES ) {
fetchOptions.predicate = [NSPredicate predicateWithFormat:@"mediaType == %d", PHAssetMediaTypeVideo];
} else if( self.bOnlyPhoto == YES ) {
fetchOptions.predicate = [NSPredicate predicateWithFormat:@"mediaType == %d", PHAssetMediaTypeImage];
}
self.allPhotos = [PHAsset fetchAssetsWithOptions:fetchOptions];
[fetchOptions release], fetchOptions = nil;