MMImagePicker
MMImagePicker
基于AssetsLibrary
框架的图片选择器:支持多选、单选、对图片进行裁剪、选择原图、可预览。基于Photos
框架的图片选择器,可以参考MMPhotoPicker。
属性
MMImagePickerController属性介绍:
// 主色调[默认蓝色]
@property (nonatomic, strong) UIColor *mainColor;
// 是否回传原图[可用于控制图片压系数]
@property (nonatomic, assign) BOOL isOrigin;
// 是否显示原图选项[默认NO]
@property (nonatomic, assign) BOOL showOriginImageOption;
// 是否只选取一张[默认NO]
@property (nonatomic, assign) BOOL singleImageOption;
// 是否选取一张且需要裁剪[默认NO]
@property (nonatomic, assign) BOOL cropImageOption;
// 裁剪的大小[默认方形、屏幕宽度]
@property (nonatomic, assign) CGSize imageCropSize;
// 最大选择数目[默认9张]
@property (nonatomic, assign) NSInteger maximumNumberOfImage;
// 代理
@property (nonatomic, assign) id<MMImagePickerDelegate> delegate;
代理
@protocol MMImagePickerDelegate <NSObject>
@optional
/**
info释义:
返回的媒体数据是数组,数组单元为字典,字典中包含以下数据:
资源类型 ALAssetPropertyType
位置方向 ALAssetPropertyLocation
原始图片 UIImagePickerControllerOriginalImage
原件路径 UIImagePickerControllerReferenceURL
*/
- (void)mmImagePickerController:(MMImagePickerController *)picker didFinishPickingMediaWithInfo:(NSArray<NSDictionary *> *)info;
- (void)mmImagePickerControllerDidCancel:(MMImagePickerController *)picker;
@end
使用
pod "MMImagePicker"
;pod install
/pod update
;#import <MMImagePicker/MMImagePickerController.h>
.
MMImagePickerController *controller = [[MMImagePickerController alloc] init];
// 代理
controller.delegate = self;
// 最大图片选择数量
controller.maximumNumberOfImage = 9;
// 显示原图选项
controller.showOriginImageOption = YES;
UINavigationController * navigation = [[UINavigationController alloc] initWithRootViewController:controller];
[self.navigationController presentViewController:navigation animated:YES completion:nil];
#pragma mark - MMImagePickerDelegate
- (void)mmImagePickerController:(MMImagePickerController *)picker didFinishPickingMediaWithInfo:(NSArray *)info
{
NSLog(@"%@",info);
}
- (void)mmImagePickerControllerDidCancel:(MMImagePickerController *)picker
{
NSLog(@"Cancel");
}
注意
- 需要在 Info.plist 中添加隐私授权:
Privacy - Photo Library Usage Description
; - 如果相册名称需要根据手机语言环境显示相应语言,需要在 Info.plist 中设置
Localized resources can be mixed
为YES
。
后记
不定时更新,如有问题欢迎给我留言,我会及时回复。如果这个工具对你有一些帮助,请给我一个star,谢谢