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
-
创建一个 ImagePickerPreviewViewController 用于预览图片
Declaration
Objective-C
- (nonnull FWImagePickerPreviewController *) imagePickerPreviewControllerForImagePickerController: (nonnull FWImagePickerController *)imagePickerController;
-
控制照片的排序,若不实现,默认为 FWAlbumSortTypePositive
Note
注意返回值会决定第一次进来相片列表时列表默认的滚动位置,如果为 FWAlbumSortTypePositive,则列表默认滚动到底部,如果为 FWAlbumSortTypeReverse,则列表默认滚动到顶部。Declaration
Objective-C
- (FWAlbumSortType)albumSortTypeForImagePickerController: (nonnull FWImagePickerController *)imagePickerController;
-
选择图片完毕后被调用(点击 sendButton 后被调用),如果previewController没有实现完成回调方法,也会走到这个方法
Declaration
Objective-C
- (void)imagePickerController: (nonnull FWImagePickerController *)imagePickerController didFinishPickingImageWithImagesAssetArray: (nonnull NSArray<FWAsset *> *)imagesAssetArray;
Parameters
imagePickerController
对应的 FWImagePickerController
imagesAssetArray
包含被选择的图片的 FWAsset 对象的数组。
-
取消选择图片后被调用,如果albumController没有实现取消回调方法,也会走到这个方法
Declaration
Objective-C
- (void)imagePickerControllerDidCancel: (nonnull FWImagePickerController *)imagePickerController;
-
cell 被点击时调用(先调用这个接口,然后才去走预览大图的逻辑),注意这并非指选中 checkbox 事件
Declaration
Objective-C
- (void)imagePickerController: (nonnull FWImagePickerController *)imagePickerController didSelectImageWithImagesAsset:(nonnull FWAsset *)imageAsset afterImagePickerPreviewControllerUpdate: (nonnull FWImagePickerPreviewController *)imagePickerPreviewController;
Parameters
imagePickerController
对应的 FWImagePickerController
imageAsset
被选中的图片的 FWAsset 对象
imagePickerPreviewController
选中图片后进行图片预览的 viewController
-
是否能够选中 checkbox
Declaration
Objective-C
- (BOOL)imagePickerController: (nonnull FWImagePickerController *)imagePickerController shouldCheckImageAtIndex:(NSInteger)index;
-
即将选中 checkbox 时调用
Declaration
Objective-C
- (void)imagePickerController: (nonnull FWImagePickerController *)imagePickerController willCheckImageAtIndex:(NSInteger)index;
-
选中了 checkbox 之后调用
Declaration
Objective-C
- (void)imagePickerController: (nonnull FWImagePickerController *)imagePickerController didCheckImageAtIndex:(NSInteger)index;
-
即将取消选中 checkbox 时调用
Declaration
Objective-C
- (void)imagePickerController: (nonnull FWImagePickerController *)imagePickerController willUncheckImageAtIndex:(NSInteger)index;
-
取消了 checkbox 选中之后调用
Declaration
Objective-C
- (void)imagePickerController: (nonnull FWImagePickerController *)imagePickerController didUncheckImageAtIndex:(NSInteger)index;
-
选中数量变化时调用,仅多选有效
Declaration
Objective-C
- (void)imagePickerController: (nonnull FWImagePickerController *)imagePickerController willChangeCheckedCount:(NSInteger)checkedCount;
-
自定义图片九宫格cell展示,cellForRow自动调用
Declaration
Objective-C
- (void)imagePickerController: (nonnull FWImagePickerController *)imagePickerController customCell:(nonnull FWImagePickerCollectionCell *)cell atIndexPath:(nonnull NSIndexPath *)indexPath;
-
标题视图被点击时调用,返回弹出的相册列表控制器
Declaration
Objective-C
- (nonnull FWImageAlbumController *)albumControllerForImagePickerController: (nonnull FWImagePickerController *)imagePickerController;
-
即将显示弹出相册列表控制器时调用
Declaration
Objective-C
- (void)imagePickerController: (nonnull FWImagePickerController *)imagePickerController willShowAlbumController:(nonnull FWImageAlbumController *)albumController;
-
即将隐藏弹出相册列表控制器时调用
Declaration
Objective-C
- (void)imagePickerController: (nonnull FWImagePickerController *)imagePickerController willHideAlbumController:(nonnull FWImageAlbumController *)albumController;
-
即将需要显示 Loading 时调用
Declaration
Objective-C
- (void)imagePickerControllerWillStartLoading: (nonnull FWImagePickerController *)imagePickerController;
-
即将需要隐藏 Loading 时调用
Declaration
Objective-C
- (void)imagePickerControllerDidFinishLoading: (nonnull FWImagePickerController *)imagePickerController;
-
图片未授权时调用,可自定义空界面等
Declaration
Objective-C
- (void)imagePickerControllerWillShowDenied: (nonnull FWImagePickerController *)imagePickerController;
-
图片为空时调用,可自定义空界面等
Declaration
Objective-C
- (void)imagePickerControllerWillShowEmpty: (nonnull FWImagePickerController *)imagePickerController;
-
已经选中数量超过最大选择数量时被调用,默认弹窗提示
Declaration
Objective-C
- (void)imagePickerControllerWillShowExceed: (nonnull FWImagePickerController *)imagePickerController;