iOS:基于Photos框架的图片选择器以及创建自定义相册

MMPhotoPicker(下载链接)基于Photos框架,集成了图片选择器(支持多选、单选、对图片进行裁剪、选择原图、可预览)以及创建自定义相册,并保存图片到自定义相册。若想使用基于AssetsLibrary框架的图片选择器,点击这里。

使用

  1. pod "MMPhotoPicker" ;
  2. pod install / pod update;
  3. #import .
MMPhotoPickerController属性介绍:

// 主色调[默认蓝色]
@property (nonatomic, strong) UIColor *mainColor;
// 是否回传原图 [可用于控制图片压系数]
@property (nonatomic, assign) BOOL isOrigin;
// 是否显示原图选项 [默认NO]
@property (nonatomic, assign) BOOL showOriginImageOption;
// 是否显示空相册 [默认NO]
@property (nonatomic, assign) BOOL showEmptyAlbum;
// 是否只选取一张 [默认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 delegate;

图片选择

MMPhotoPickerController *mmVC = [[MMPhotoPickerController alloc] init];
// 设置代理
mmVC.delegate = self;
// 设置显示空相册
mmVC.showEmptyAlbum = YES;
// 设置最大选择数目
mmVC.maximumNumberOfImage = 9;
UINavigationController *mmNav = [[UINavigationController alloc] initWithRootViewController:mmVC];
[self.navigationController presentViewController:mmNav animated:YES completion:nil];
#pragma mark - MMPhotoPickerDelegate
- (void)mmPhotoPickerController:(MMPhotoPickerController *)picker didFinishPickingMediaWithInfo:(NSArray *)info
{
     NSLog(@"%@",info);
}

- (void)mmPhotoPickerControllerDidCancel:(MMPhotoPickerController *)picker
{
     NSLog(@"Cancel");
}

保存视频/图片到自定义相册

MMPhotoUtil类中:

// 图片
+ (void)writeImageToPhotoAlbum:(UIImage *)image;
// 视频
+ (void)writeVideoToPhotoAlbum:(NSURL *)videoURL;

注意

  1. 需要在Info.plist中添加隐私授权:Privacy - Photo Library Usage Description
  2. 如果相册名称需要根据手机语言环境显示相应语言,需要在Info.plist中设置Localized resources can be mixedYES

你可能感兴趣的:(iOS学习)