QMUIImagePickerHelper
@interface QMUIImagePickerHelper : NSObject
配合 QMUIImagePickerViewController 使用的工具类
-
选中图片数量改变时,展示图片数量的 Label 的动画,动画过程如下: Label 背景色改为透明,同时产生一个与背景颜色和形状、大小都相同的图形置于 Label 底下,做先缩小再放大的 spring 动画 动画结束后移除该图形,并恢复 Label 的背景色
Warning
iOS6 下降级处理不调用动画效果
Declaration
Objective-C
+ (void)springAnimationOfImageSelectedCountChangeWithCountLabel: (UILabel *)label;
Swift
class func springAnimationOfImageSelectedCountChange(withCount label: UILabel!)
Parameters
label
需要做动画的 UILabel
-
图片 checkBox 被选中时的动画
Warning
iOS6 下降级处理不调用动画效果
Declaration
Objective-C
+ (void)springAnimationOfImageCheckedWithCheckboxButton:(UIButton *)button;
Swift
class func springAnimationOfImageChecked(withCheckboxButton button: UIButton!)
Parameters
button
需要做动画的 checkbox 按钮
-
搭配springAnimationOfImageCheckedWithCheckboxButton:一起使用,添加animation之前建议先remove
Declaration
Objective-C
+ (void)removeSpringAnimationOfImageCheckedWithCheckboxButton: (UIButton *)button;
Swift
class func removeSpringAnimationOfImageChecked(withCheckboxButton button: UIButton!)
-
获取最近一次调用 updateLastAlbumWithAssetsGroup 方法调用时储存的 QMUIAssetsGroup 对象
Declaration
Objective-C
+ (id)assetsGroupOfLastPickerAlbumWithUserIdentify:(NSString *)userIdentify;
Swift
class func assetsGroupOfLastPickerAlbum(withUserIdentify userIdentify: String!) -> Any!
Parameters
userIdentify
用户标识,由于每个用户可能需要分开储存一个最近调用过的 QMUIAssetsGroup,因此增加一个标识区分用户。 一个常见的应用场景是选择图片时保存图片所在相册的对应的 QMUIAssetsGroup,并使用用户的 user id 作为区分不同用户的标识, 当用户再次选择图片时可以根据已经保存的 QMUIAssetsGroup 直接进入上次使用过的相册。
-
储存一个 QMUIAssetsGroup,从而储存一个对应的相册,与 assetsGroupOfLatestPickerAlbumWithUserIdentify 方法对应使用
Declaration
Objective-C
+ (void)updateLastestAlbumWithAssetsGroup:(id)assetsGroup ablumContentType:(id)albumContentType userIdentify:(NSString *)userIdentify;
Swift
class func updateLastestAlbum(withAssetsGroup assetsGroup: Any!, ablumContentType albumContentType: Any!, userIdentify: String!)
Parameters
assetsGroup
要被储存的 QMUIAssetsGroup
albumContentType
相册的内容类型
userIdentify
用户标识,由于每个用户可能需要分开储存一个最近调用过的 QMUIAssetsGroup,因此增加一个标识区分用户
-
检测一组资源是否全部下载成功,如果有资源仍未从 iCloud 中下载成功,则返回 NO
可以用于选择图片后,业务需要自行处理 iCloud 下载的场景。
Declaration
Objective-C
+ (BOOL)imageAssetsDownloaded:(NSMutableArray *)imagesAssetArray;
Swift
class func imageAssetsDownloaded(_ imagesAssetArray: NSMutableArray!) -> Bool
-
检测资源是否已经在本地,如果资源仍未从 iCloud 中成功下载,则会发出请求从 iCloud 加载资源,并通过多次调用 block 返回请求结果
可以用于选择图片后,业务需要自行处理 iCloud 下载的场景。
Declaration
Objective-C
+ (void)requestImageAssetIfNeeded:(id)asset completion:(void (^)(int, NSError *))completion;
Swift
class func requestImageAssetIfNeeded(_ asset: Any!, completion: ((Int32, Error?) -> Void)!)