FWImagePickerControllerDelegate

@protocol FWImagePickerControllerDelegate <NSObject>

@optional

/**
 *  创建一个 ImagePickerPreviewViewController 用于预览图片
 */
- (FWImagePickerPreviewController *)imagePickerPreviewControllerForImagePickerController:(FWImagePickerController *)imagePickerController;

/**
 *  控制照片的排序,若不实现,默认为 FWAlbumSortTypePositive
 *  @note 注意返回值会决定第一次进来相片列表时列表默认的滚动位置,如果为 FWAlbumSortTypePositive,则列表默认滚动到底部,如果为 FWAlbumSortTypeReverse,则列表默认滚动到顶部。
 */
- (FWAlbumSortType)albumSortTypeForImagePickerController:(FWImagePickerController *)imagePickerController;

/**
 *  选择图片完毕后被调用(点击 sendButton 后被调用),如果previewController没有实现完成回调方法,也会走到这个方法
 *
 *  @param imagePickerController 对应的 FWImagePickerController
 *  @param imagesAssetArray          包含被选择的图片的 FWAsset 对象的数组。
 */
- (void)imagePickerController:(FWImagePickerController *)imagePickerController didFinishPickingImageWithImagesAssetArray:(NSArray<FWAsset *> *)imagesAssetArray;

/**
 *  取消选择图片后被调用,如果albumController没有实现取消回调方法,也会走到这个方法
 */
- (void)imagePickerControllerDidCancel:(FWImagePickerController *)imagePickerController;

/**
 *  cell 被点击时调用(先调用这个接口,然后才去走预览大图的逻辑),注意这并非指选中 checkbox 事件
 *
 *  @param imagePickerController        对应的 FWImagePickerController
 *  @param imageAsset                       被选中的图片的 FWAsset 对象
 *  @param imagePickerPreviewController 选中图片后进行图片预览的 viewController
 */
- (void)imagePickerController:(FWImagePickerController *)imagePickerController didSelectImageWithImagesAsset:(FWAsset *)imageAsset afterImagePickerPreviewControllerUpdate:(FWImagePickerPreviewController *)imagePickerPreviewController;

/// 是否能够选中 checkbox
- (BOOL)imagePickerController:(FWImagePickerController *)imagePickerController shouldCheckImageAtIndex:(NSInteger)index;

/// 即将选中 checkbox 时调用
- (void)imagePickerController:(FWImagePickerController *)imagePickerController willCheckImageAtIndex:(NSInteger)index;

/// 选中了 checkbox 之后调用
- (void)imagePickerController:(FWImagePickerController *)imagePickerController didCheckImageAtIndex:(NSInteger)index;

/// 即将取消选中 checkbox 时调用
- (void)imagePickerController:(FWImagePickerController *)imagePickerController willUncheckImageAtIndex:(NSInteger)index;

/// 取消了 checkbox 选中之后调用
- (void)imagePickerController:(FWImagePickerController *)imagePickerController didUncheckImageAtIndex:(NSInteger)index;

/// 选中数量变化时调用,仅多选有效
- (void)imagePickerController:(FWImagePickerController *)imagePickerController willChangeCheckedCount:(NSInteger)checkedCount;

/// 自定义图片九宫格cell展示,cellForRow自动调用
- (void)imagePickerController:(FWImagePickerController *)imagePickerController customCell:(FWImagePickerCollectionCell *)cell atIndexPath:(NSIndexPath *)indexPath;

/// 标题视图被点击时调用,返回弹出的相册列表控制器
- (FWImageAlbumController *)albumControllerForImagePickerController:(FWImagePickerController *)imagePickerController;

/// 即将显示弹出相册列表控制器时调用
- (void)imagePickerController:(FWImagePickerController *)imagePickerController willShowAlbumController:(FWImageAlbumController *)albumController;

/// 即将隐藏弹出相册列表控制器时调用
- (void)imagePickerController:(FWImagePickerController *)imagePickerController willHideAlbumController:(FWImageAlbumController *)albumController;

/**
 *  即将需要显示 Loading 时调用
 */
- (void)imagePickerControllerWillStartLoading:(FWImagePickerController *)imagePickerController;

/**
 *  即将需要隐藏 Loading 时调用
 */
- (void)imagePickerControllerDidFinishLoading:(FWImagePickerController *)imagePickerController;

/// 图片未授权时调用,可自定义空界面等
- (void)imagePickerControllerWillShowDenied:(FWImagePickerController *)imagePickerController;

/// 图片为空时调用,可自定义空界面等
- (void)imagePickerControllerWillShowEmpty:(FWImagePickerController *)imagePickerController;

/// 已经选中数量超过最大选择数量时被调用,默认弹窗提示
- (void)imagePickerControllerWillShowExceed:(FWImagePickerController *)imagePickerController;

@end

Undocumented