测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最新版本 | 2015年12月 |
由 Katsuma Tanaka 维护。
支持多选的 UIImagePickerController 克隆版。
>= 3.0.0
:iOS 8 或更新版本(使用 PhotoKit)< 3.0.0
:iOS 6 或更新版本(使用 AssetsLibrary)QBImagePickerController *imagePickerController = [QBImagePickerController new];
imagePickerController.delegate = self;
imagePickerController.allowsMultipleSelection = YES;
imagePickerController.maximumNumberOfSelection = 6;
imagePickerController.showsNumberOfSelectedAssets = YES;
[self presentViewController:imagePickerController animated:YES completion:NULL];
QBImagePickerControllerDelegate
方法QBImagePickerController
对象self
设置为 delegate
属性通过调用 presentViewController:animated:completion:
来显示选择器
QBImagePickerController *imagePickerController = [QBImagePickerController new]; imagePickerController.delegate = self;
[self presentViewController:imagePickerController animated:YES completion:NULL];
通过实现 qb_imagePickerController:didFinishPickingAssets:
来获取用户所选的资源。
当用户完成资源的选取时,将调用此方法。
- (void)qb_imagePickerController:(QBImagePickerController *)imagePickerController didFinishPickingAssets:(NSArray *)assets {
for (PHAsset *asset in assets) {
// Do something with the asset
}
[self dismissViewControllerAnimated:YES completion:NULL];
}
通过实现 qb_imagePickerControllerDidCancel:
来在用户点击“取消”按钮时获得通知。
- (void)qb_imagePickerControllerDidCancel:(QBImagePickerController *)imagePickerController {
[self dismissViewControllerAnimated:YES completion:NULL];
}
通过实现这些方法,你可以处理用户选择的变化。
- (BOOL)qb_imagePickerController:(QBImagePickerController *)imagePickerController shouldSelectAsset:(PHAsset *)asset;
- (void)qb_imagePickerController:(QBImagePickerController *)imagePickerController didSelectAsset:(PHAsset *)asset;
- (void)qb_imagePickerController:(QBImagePickerController *)imagePickerController didDeselectAsset:(PHAsset *)asset;
当 allowsMultipleSelection
设置为 YES
时,用户可以选择多张照片。
默认值是 NO
。
imagePickerController.allowsMultipleSelection = YES;
您可以使用 minimumNumberOfSelection
和 maximumNumberOfSelection
属性来限制选择数量。
默认值是 0
,表示选择数量不受限制。
imagePickerController.minimumNumberOfSelection = 3;
imagePickerController.maximumNumberOfSelection = 6;
使用 assetCollectionSubtypes
属性来指定要显示的相册。
以下代码展示了默认值。
imagePickerController.assetCollectionSubtypes = @[
@(PHAssetCollectionSubtypeSmartAlbumUserLibrary), // Camera Roll
@(PHAssetCollectionSubtypeAlbumMyPhotoStream), // My Photo Stream
@(PHAssetCollectionSubtypeSmartAlbumPanoramas), // Panoramas
@(PHAssetCollectionSubtypeSmartAlbumVideos), // Videos
@(PHAssetCollectionSubtypeSmartAlbumBursts) // Bursts
];
相册将按您指定的顺序显示。
用户的相册将始终显示在智能相册之后。
使用 mediaType
来过滤要显示的资产。
默认值是 QBImagePickerMediaTypeAny
。
imagePickerController.mediaType = QBImagePickerMediaTypeVideo;
有一些属性可以显示有用的信息。
imagePickerController.prompt = @"Select the photos you want to upload!";
imagePickerController.showsNumberOfSelectedAssets = YES;
使用 numberOfColumnsInPortrait
和 numberOfColumnsInLandscape
来更改网格大小。
以下代码展示了默认值。
imagePickerController.numberOfColumnsInPortrait = 4;
imagePickerController.numberOfColumnsInLandscape = 7;
版权(c)2015 Katsuma Tanaka
在此特此许可任何获得本软件和相关文档(“软件”)副本的人员免费使用软件,包括但不限于使用、复制、修改、合并、发布、分发、转让和/或销售软件复制件,并允许获得本软件的人士进行上述操作,前提是遵守下述条件
上述版权声明和本使用许可应包含在软件的所有副本或实质性部分中。
本软件按“原样”提供,不提供任何形式保证,无论是明示的、暗示的,包括但不限于适销性、适用于特定目的和不侵权保证。在任何情况下,作者或版权所有者均不对因软件或其使用或其它任何与软件相关的操作而产生的任何索赔、损害或其他责任承担责任,无论此类责任是基于合同、侵权或其他任何原因产生的。