这是一个 iOS 和 Objective-C 的 UIImagePickerController
的替代品,外观几乎完全相同,但提供了选择多张图片的能力。它像 UIImagePickerController
一样容易设置,并且适用于纵向和横向两种方向。它需要添加 AssetsLibrary.framework。此代码使用 ARC。
注意:使用 AssetsLibrary.framework 会使用户的要求授权访问其照片。
将 WSAssetPickerController
添加到项目的最简单方法是使用 CocoaPods
pod 'WSAssetPickerController'
或者,您可以将 src
目录中的所有文件复制到项目中。请确保已选中“将项目复制到目标文件夹的文件夹中”。
#import "WSAssetPicker.h"
WSAssetPickerController
实例,并传递一个 ALAssetsLibrary
的实例WSAssetPickerControllerDelegate
协议,并设置选择器的代理WSAssetPickerController
实例png
文件: WSAssetViewSelectionIndicator.png
和 [email protected]
,或者创建自己的。查看示例项目以获取更多详细信息。
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
self.assetsLibrary = library;
WSAssetPickerController *controller = [[WSAssetPickerController alloc] initWithAssetsLibrary:library];
[self presentViewController:controller animated:YES completion:NULL];
- (void)assetPickerControllerDidCancel:(WSAssetPickerController *)sender
{
// Dismiss the WSAssetPickerController.
[self dismissViewControllerAnimated:YES completion:NULL];
}
- (void)assetPickerController:(WSAssetPickerController *)sender didFinishPickingMediaWithAssets:(NSArray *)assets
{
// Dismiss the WSAssetPickerController.
[self dismissViewControllerAnimated:YES completion:^{
// Do something with the assets here.
}];
}
注意:在 assets
数组中的 ALAsset
对象仅在其来源的 ALAssetsLibrary
实例生命期内有效。