QMUIImagePickerViewControllerDelegate
@protocol QMUIImagePickerViewControllerDelegate <NSObject>
@optional
/**
* 创建一个 ImagePickerPreviewViewController 用于预览图片
*/
- (QMUIImagePickerPreviewViewController *)imagePickerPreviewViewControllerForImagePickerViewController:(QMUIImagePickerViewController *)imagePickerViewController;
/**
* 控制照片的排序,若不实现,默认为 QMUIAlbumSortTypePositive
* @note 注意返回值会决定第一次进来相片列表时列表默认的滚动位置,如果为 QMUIAlbumSortTypePositive,则列表默认滚动到底部,如果为 QMUIAlbumSortTypeReverse,则列表默认滚动到顶部。
*/
- (QMUIAlbumSortType)albumSortTypeForImagePickerViewController:(QMUIImagePickerViewController *)imagePickerViewController;
/**
* 多选模式下选择图片完毕后被调用(点击 sendButton 后被调用),单选模式下没有底部发送按钮,所以也不会走到这个delegate
*
* @param imagePickerViewController 对应的 QMUIImagePickerViewController
* @param imagesAssetArray 包含被选择的图片的 QMUIAsset 对象的数组。
*/
- (void)imagePickerViewController:(QMUIImagePickerViewController *)imagePickerViewController didFinishPickingImageWithImagesAssetArray:(NSMutableArray<QMUIAsset *> *)imagesAssetArray;
/**
* cell 被点击时调用(先调用这个接口,然后才去走预览大图的逻辑),注意这并非指选中 checkbox 事件
*
* @param imagePickerViewController 对应的 QMUIImagePickerViewController
* @param imageAsset 被选中的图片的 QMUIAsset 对象
* @param imagePickerPreviewViewController 选中图片后进行图片预览的 viewController
*/
- (void)imagePickerViewController:(QMUIImagePickerViewController *)imagePickerViewController didSelectImageWithImagesAsset:(QMUIAsset *)imageAsset afterImagePickerPreviewViewControllerUpdate:(QMUIImagePickerPreviewViewController *)imagePickerPreviewViewController;
/// 是否能够选中 checkbox
- (BOOL)imagePickerViewController:(QMUIImagePickerViewController *)imagePickerViewController shouldCheckImageAtIndex:(NSInteger)index;
/// 即将选中 checkbox 时调用
- (void)imagePickerViewController:(QMUIImagePickerViewController *)imagePickerViewController willCheckImageAtIndex:(NSInteger)index;
/// 选中了 checkbox 之后调用
- (void)imagePickerViewController:(QMUIImagePickerViewController *)imagePickerViewController didCheckImageAtIndex:(NSInteger)index;
/// 即将取消选中 checkbox 时调用
- (void)imagePickerViewController:(QMUIImagePickerViewController *)imagePickerViewController willUncheckImageAtIndex:(NSInteger)index;
/// 取消了 checkbox 选中之后调用
- (void)imagePickerViewController:(QMUIImagePickerViewController *)imagePickerViewController didUncheckImageAtIndex:(NSInteger)index;
/**
* 取消选择图片后被调用
*/
- (void)imagePickerViewControllerDidCancel:(QMUIImagePickerViewController *)imagePickerViewController;
/**
* 即将需要显示 Loading 时调用
*
* @see shouldShowDefaultLoadingView
*/
- (void)imagePickerViewControllerWillStartLoading:(QMUIImagePickerViewController *)imagePickerViewController;
/**
* 即将需要隐藏 Loading 时调用
*
* @see shouldShowDefaultLoadingView
*/
- (void)imagePickerViewControllerDidFinishLoading:(QMUIImagePickerViewController *)imagePickerViewController;
@end
Undocumented
-
创建一个 ImagePickerPreviewViewController 用于预览图片
Declaration
Objective-C
- (nonnull QMUIImagePickerPreviewViewController *) imagePickerPreviewViewControllerForImagePickerViewController: (nonnull QMUIImagePickerViewController *)imagePickerViewController;
Swift
optional func imagePickerPreviewViewController(for imagePickerViewController: QMUIImagePickerViewController) -> QMUIImagePickerPreviewViewController
-
控制照片的排序,若不实现,默认为 QMUIAlbumSortTypePositive
Note
注意返回值会决定第一次进来相片列表时列表默认的滚动位置,如果为 QMUIAlbumSortTypePositive,则列表默认滚动到底部,如果为 QMUIAlbumSortTypeReverse,则列表默认滚动到顶部。Declaration
Objective-C
- (id)albumSortTypeForImagePickerViewController: (nonnull QMUIImagePickerViewController *)imagePickerViewController;
Swift
optional func albumSortType(for imagePickerViewController: QMUIImagePickerViewController) -> Any!
-
多选模式下选择图片完毕后被调用(点击 sendButton 后被调用),单选模式下没有底部发送按钮,所以也不会走到这个delegate
Declaration
Objective-C
- (void)imagePickerViewController: (nonnull QMUIImagePickerViewController *)imagePickerViewController didFinishPickingImageWithImagesAssetArray: (nonnull NSMutableArray *)imagesAssetArray;
Swift
optional func imagePickerViewController(_ imagePickerViewController: QMUIImagePickerViewController, didFinishPickingImageWithImagesAssetArray imagesAssetArray: NSMutableArray)
Parameters
imagePickerViewController
对应的 QMUIImagePickerViewController
imagesAssetArray
包含被选择的图片的 QMUIAsset 对象的数组。
-
-imagePickerViewController:
didSelectImageWithImagesAsset: afterImagePickerPreviewViewControllerUpdate: cell 被点击时调用(先调用这个接口,然后才去走预览大图的逻辑),注意这并非指选中 checkbox 事件
Declaration
Objective-C
- (void)imagePickerViewController: (nonnull QMUIImagePickerViewController *)imagePickerViewController didSelectImageWithImagesAsset:(id)imageAsset afterImagePickerPreviewViewControllerUpdate: (nonnull QMUIImagePickerPreviewViewController *) imagePickerPreviewViewController;
Swift
optional func imagePickerViewController(_ imagePickerViewController: QMUIImagePickerViewController, didSelectImageWithImagesAsset imageAsset: Any!, afterImagePickerPreviewViewControllerUpdate imagePickerPreviewViewController: QMUIImagePickerPreviewViewController)
Parameters
imagePickerViewController
对应的 QMUIImagePickerViewController
imageAsset
被选中的图片的 QMUIAsset 对象
imagePickerPreviewViewController
选中图片后进行图片预览的 viewController
-
是否能够选中 checkbox
Declaration
Objective-C
- (BOOL)imagePickerViewController: (nonnull QMUIImagePickerViewController *)imagePickerViewController shouldCheckImageAtIndex:(NSInteger)index;
Swift
optional func imagePickerViewController(_ imagePickerViewController: QMUIImagePickerViewController, shouldCheckImageAt index: Int) -> Bool
-
即将选中 checkbox 时调用
Declaration
Objective-C
- (void)imagePickerViewController: (nonnull QMUIImagePickerViewController *)imagePickerViewController willCheckImageAtIndex:(NSInteger)index;
Swift
optional func imagePickerViewController(_ imagePickerViewController: QMUIImagePickerViewController, willCheckImageAt index: Int)
-
选中了 checkbox 之后调用
Declaration
Objective-C
- (void)imagePickerViewController: (nonnull QMUIImagePickerViewController *)imagePickerViewController didCheckImageAtIndex:(NSInteger)index;
Swift
optional func imagePickerViewController(_ imagePickerViewController: QMUIImagePickerViewController, didCheckImageAt index: Int)
-
即将取消选中 checkbox 时调用
Declaration
Objective-C
- (void)imagePickerViewController: (nonnull QMUIImagePickerViewController *)imagePickerViewController willUncheckImageAtIndex:(NSInteger)index;
Swift
optional func imagePickerViewController(_ imagePickerViewController: QMUIImagePickerViewController, willUncheckImageAt index: Int)
-
取消了 checkbox 选中之后调用
Declaration
Objective-C
- (void)imagePickerViewController: (nonnull QMUIImagePickerViewController *)imagePickerViewController didUncheckImageAtIndex:(NSInteger)index;
Swift
optional func imagePickerViewController(_ imagePickerViewController: QMUIImagePickerViewController, didUncheckImageAt index: Int)
-
取消选择图片后被调用
Declaration
Objective-C
- (void)imagePickerViewControllerDidCancel: (nonnull QMUIImagePickerViewController *)imagePickerViewController;
Swift
optional func imagePickerViewControllerDidCancel(_ imagePickerViewController: QMUIImagePickerViewController)
-
即将需要显示 Loading 时调用
See
shouldShowDefaultLoadingViewDeclaration
Objective-C
- (void)imagePickerViewControllerWillStartLoading: (nonnull QMUIImagePickerViewController *)imagePickerViewController;
Swift
optional func imagePickerViewControllerWillStartLoading(_ imagePickerViewController: QMUIImagePickerViewController)
-
即将需要隐藏 Loading 时调用
See
shouldShowDefaultLoadingViewDeclaration
Objective-C
- (void)imagePickerViewControllerDidFinishLoading: (nonnull QMUIImagePickerViewController *)imagePickerViewController;
Swift
optional func imagePickerViewControllerDidFinishLoading(_ imagePickerViewController: QMUIImagePickerViewController)