该应用程序可以在标准 iOS 照片应用程序中创建自定义相册,但我一直无法找到一种方法让该应用程序收集该相册中的所有图像以在应用程序中显示。
目前,该应用程序可以从所有相册中收集图像,只是没有一个是特定的。
let resultCollections = PHAssetCollection.fetchAssetCollectionsWithType(
.Album,
subtype: .AlbumRegular,
options: nil)
resultCollections.enumerateObjectsUsingBlock({
(object, index, stop) -> Void in
let collection = object as! PHAssetCollection
let result = PHAsset.fetchAssetsInAssetCollection(collection, options: nil)
result.enumerateObjectsUsingBlock({
(object, index, stop) -> Void in
let asset = object as! PHAsset
self.images.append(asset)
})
})
我看到了其他可能被标记为重复的问题,但其中大多数都在谈论打开 UIPickerView 到自定义相册。这可能是 How to fetch all images from custom Photo Album - swift 的重复项然而,它从未得到答复。
那么,iOS 应用如何收集特定相册中的所有图像?
最佳答案
像下面这样添加 fetchOptions
let fetchOptions = PHFetchOptions()
fetchOptions.predicate = NSPredicate(format: "title = %@", YourAlbumTitle)
let resultCollections = PHAssetCollection.fetchAssetCollectionsWithType(.Album, subtype: .AlbumRegular, options: fetchOptions)
其实专辑名不是唯一值,可以重复。因此,如果您的应用访问多个相册,我建议使用如下所示的 localIdentifier。
let fetchOptions = PHFetchOptions()
fetchOptions.predicate = NSPredicate(format: "localIdentifier = %@", YourAlbumLocalIdentifier)
let resultCollections = PHAssetCollection.fetchAssetCollectionsWithType(.Album, subtype: .AlbumRegular, options: fetchOptions)
关于ios - Swift 从特定相册中选择所有照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32752437/