PHPhotoLibrary(QMUI)
@interface PHPhotoLibrary (QMUI)
/**
* 根据 contentType 的值产生一个合适的 PHFetchOptions,并把内容以资源创建日期排序,创建日期较新的资源排在前面
*
* @param contentType 相册的内容类型
*
* @return 返回一个合适的 PHFetchOptions
*/
+ (PHFetchOptions *)createFetchOptionsWithAlbumContentType:(QMUIAlbumContentType)contentType;
/**
* 获取所有相册
*
* @param contentType 相册的内容类型,设定了内容类型后,所获取的相册中只包含对应类型的资源
* @param showEmptyAlbum 是否显示空相册(经过 contentType 过滤后仍为空的相册)
* @param showSmartAlbum 是否显示“智能相册”
*
* @return 返回包含所有合适相册的数组
*/
+ (NSArray<PHAssetCollection *> *)fetchAllAlbumsWithAlbumContentType:(QMUIAlbumContentType)contentType showEmptyAlbum:(BOOL)showEmptyAlbum showSmartAlbum:(BOOL)showSmartAlbum;
/// 获取一个 PHAssetCollection 中创建日期最新的资源
+ (PHAsset *)fetchLatestAssetWithAssetCollection:(PHAssetCollection *)assetCollection;
/**
* 保存图片或视频到指定的相册
*
* @warning 无论用户保存到哪个自行创建的相册,系统都会在“相机胶卷”相册中同时保存这个图片。
* 原因请参考 QMUIAssetsManager 对象的保存图片和视频方法的注释。
* @warning 无法通过该方法把图片保存到“智能相册”,“智能相册”只能由系统控制资源的增删。
*/
- (void)addImageToAlbum:(CGImageRef)imageRef albumAssetCollection:(PHAssetCollection *)albumAssetCollection orientation:(UIImageOrientation)orientation completionHandler:(void(^)(BOOL success, NSDate *creationDate, NSError *error))completionHandler;
- (void)addImageToAlbum:(NSURL *)imagePathURL albumAssetCollection:(PHAssetCollection *)albumAssetCollection completionHandler:(void(^)(BOOL success, NSDate *creationDate, NSError *error))completionHandler;
- (void)addVideoToAlbum:(NSURL *)videoPathURL albumAssetCollection:(PHAssetCollection *)albumAssetCollection completionHandler:(void(^)(BOOL success, NSDate *creationDate, NSError *error))completionHandler;
@end
Undocumented
-
根据 contentType 的值产生一个合适的 PHFetchOptions,并把内容以资源创建日期排序,创建日期较新的资源排在前面
Declaration
Objective-C
+ (PHFetchOptions *)createFetchOptionsWithAlbumContentType: (QMUIAlbumContentType)contentType;
Swift
class func createFetchOptions(with contentType: QMUIAlbumContentType) -> PHFetchOptions!
Parameters
contentType
相册的内容类型
Return Value
返回一个合适的 PHFetchOptions
-
获取所有相册
Declaration
Objective-C
+ (NSArray<PHAssetCollection *> *) fetchAllAlbumsWithAlbumContentType:(QMUIAlbumContentType)contentType showEmptyAlbum:(BOOL)showEmptyAlbum showSmartAlbum:(BOOL)showSmartAlbum;
Swift
class func fetchAllAlbums(with contentType: QMUIAlbumContentType, showEmptyAlbum: Bool, showSmartAlbum: Bool) -> [PHAssetCollection]!
Parameters
contentType
相册的内容类型,设定了内容类型后,所获取的相册中只包含对应类型的资源
showEmptyAlbum
是否显示空相册(经过 contentType 过滤后仍为空的相册)
showSmartAlbum
是否显示“智能相册”
Return Value
返回包含所有合适相册的数组
-
获取一个 PHAssetCollection 中创建日期最新的资源
Declaration
Objective-C
+ (PHAsset *)fetchLatestAssetWithAssetCollection: (PHAssetCollection *)assetCollection;
Swift
class func fetchLatestAsset(with assetCollection: PHAssetCollection!) -> PHAsset!
-
保存图片或视频到指定的相册
Warning
无论用户保存到哪个自行创建的相册,系统都会在“相机胶卷”相册中同时保存这个图片。 原因请参考 QMUIAssetsManager 对象的保存图片和视频方法的注释。Warning
无法通过该方法把图片保存到“智能相册”,“智能相册”只能由系统控制资源的增删。Declaration
Objective-C
- (void)addImageToAlbum:(CGImageRef)imageRef albumAssetCollection:(PHAssetCollection *)albumAssetCollection orientation:(UIImageOrientation)orientation completionHandler:(void (^)(BOOL, NSDate *, NSError *))completionHandler;
Swift
func addImage(toAlbum imageRef: CGImage!, albumAssetCollection: PHAssetCollection!, orientation: UIImage.Orientation, completionHandler: ((Bool, Date?, Error?) -> Void)!)
-
Undocumented
Declaration
Objective-C
- (void)addImageToAlbum:(NSURL *)imagePathURL albumAssetCollection:(PHAssetCollection *)albumAssetCollection completionHandler:(void(^)(BOOL success, NSDate *creationDate, NSError *error))completionHandler;
Swift
func addImage(toAlbum imagePathURL: URL!, albumAssetCollection: PHAssetCollection!, completionHandler: ((Bool, Date?, Error?) -> Void)!)
-
Undocumented
Declaration
Objective-C
- (void)addVideoToAlbum:(NSURL *)videoPathURL albumAssetCollection:(PHAssetCollection *)albumAssetCollection completionHandler:(void(^)(BOOL success, NSDate *creationDate, NSError *error))completionHandler;
Swift
func addVideo(toAlbum videoPathURL: URL!, albumAssetCollection: PHAssetCollection!, completionHandler: ((Bool, Date?, Error?) -> Void)!)