Фотографий рамки по возрастанию в Swift
У меня в проекте работает collectionView, который успешно извлекает библиотеку фотографий iPhone с помощью фреймворка Photoshop. Я пытаюсь поднять ViewView фотографии из последней фотографии. Я использую следующий код....
func getAllPhotosInfo() {
photoAssets = []
let options = PHFetchOptions()
options.sortDescriptors = [
NSSortDescriptor(key: "creationDate", ascending: false)
]
let assets: PHFetchResult = PHAsset.fetchAssetsWithMediaType(.Image, options: options)
assets.enumerateObjectsUsingBlock { (asset, index, stop) -> Void in
self.photoAssets.append(asset as! PHAsset)
}
print(photoAssets)
}
// PHAsset для преобразования изображения
import UIKit
import Photos
class CollectionViewCell: UICollectionViewCell {
var imageManager: PHImageManager?
@IBOutlet weak var photoImageView: UIImageView!
var imageAsset: PHAsset? {
didSet {
self.imageManager?.requestImageForAsset(self.imageAsset!, targetSize: CGSize(width: 320, height: 320), contentMode: .AspectFill, options: nil) { image, info in
self.photoImageView.image = image
}
}
}
}
1 ответ
Решение
Я играл с документом Photoshop Framework и нашел ответ. Вот рабочий код....
var photoAssets = [PHAsset]()
func getAllPhotosInfo() {
photoAssets = []
let options = PHFetchOptions()
options.sortDescriptors = [ NSSortDescriptor(key: "creationDate", ascending: false) ]
options.predicate = NSPredicate(format: "mediaType = %i", PHAssetMediaType.Image.rawValue)
let assetCollections = PHAssetCollection.fetchAssetCollectionsWithType(PHAssetCollectionType.SmartAlbum, subtype: PHAssetCollectionSubtype.SmartAlbumUserLibrary, options: nil)
for i in 0 ..< assetCollections.count
{
if let assetCollection = assetCollections[i] as? PHAssetCollection
{
images = PHAsset.fetchAssetsInAssetCollection(assetCollection, options: options)
print(images.count)
return
}
}
}