PHPickerViewController

@_spi(FW) extension PHPickerViewController
  • 快速创建多选照片选择器(仅图片),自动设置delegate

    @param selectionLimit 最大选择数量 @param completion 完成回调,主线程。参数1为图片数组,2为结果数组,3为是否取消 @return 照片选择器

    Declaration

    Swift

    public static func fw_pickerController(selectionLimit: Int, completion: @escaping ([UIImage], [PHPickerResult], Bool) -> Void) -> PHPickerViewController
  • 快速创建多选照片选择器,可自定义dismiss流程,自动设置delegate @note 当选择视频时,completion回调对象为NSURL临时文件路径,使用完毕后可手工删除或等待系统自动删除

    @param filterType 过滤类型,默认0同系统 @param selectionLimit 最大选择数量 @param shouldDismiss 是否先关闭照片选择器再回调,如果先关闭则回调参数1为nil @param completion 完成回调,主线程。参数1为照片选择器,2为对象数组(UIImage|PHLivePhoto|NSURL),3为结果数组,4为是否取消 @return 照片选择器

    Declaration

    Swift

    public static func fw_pickerController(filterType: ImagePickerFilterType, selectionLimit: Int, shouldDismiss: Bool, completion: @escaping (PHPickerViewController?, [Any], [PHPickerResult], Bool) -> Void) -> PHPickerViewController
  • 快速创建照片选择器(仅图片),使用自定义裁剪控制器编辑

    @param selectionLimit 最大选择数量 @param cropControllerBlock 自定义裁剪控制器句柄,nil时自动创建默认裁剪控制器 @param completion 完成回调,主线程。参数1为图片数组,2为结果数组,3为是否取消 @return 照片选择器

    Declaration

    Swift

    public static func fw_pickerController(selectionLimit: Int, cropController cropControllerBlock: ((UIImage) -> ImageCropController)?, completion: @escaping ([UIImage], [PHPickerResult], Bool) -> Void) -> PHPickerViewController
  • 自定义全局PHPickerConfiguration创建句柄,默认nil

    Declaration

    Swift

    public static var fw_pickerConfigurationBlock: (() -> PHPickerConfiguration)?
  • 照片选择器是否已经dismiss,用于解决didFinishPicking回调多次问题

    Declaration

    Swift

    public var fw_pickerControllerDismissed: Bool { get set }
  • 自定义照片选择器导出进度句柄,主线程回调,默认nil

    Declaration

    Swift

    public var fw_exportProgressBlock: ((_ picker: PHPickerViewController, _ finishedCount: Int, _ totalCount: Int) -> Void)? { get set }