在IOS中调用系统图片通常是多选图片。可以先看一下系统图片选择器介绍:
http://blog.youkuaiyun.com/lee727n/article/details/72454687
接下来我们来看一下多选图片 我们需要借助一个三方PhotoBrowser,下面的程序是我将demo程序中,分解出来的最简单且最常用的基础功能。多选图片,并且存成到数组中
将3放文件放入mainbundle
导入.h 以及 定义按钮 定义三方中要用的数组
#import "ViewController.h"
#import "ZLPhotoActionSheet.h"
@interface ViewController ()
@property (nonatomic) UIButton *btn;
@property (nonatomic, strong) NSArray<ZLSelectPhotoModel *> *lastSelectMoldels;
@property (nonatomic, strong) NSArray *selectedPhotos;
@end
viewdidload中调用一下btn 让屏幕上显示按钮
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.btn;
}
按钮懒加载
-(UIButton *)btn
{
if (_btn == nil) {
_btn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100, 50)];
[_btn setTitle:@"多选图片" forState:UIControlStateNormal];
[_btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
_btn.backgroundColor = [UIColor grayColor];
[_btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:_btn];
}
return _btn;
}
在点击事件中,添加三方的核心代码。多选图片
-(void)click:(UIButton *)button
{
ZLPhotoActionSheet *actionSheet = [[ZLPhotoActionSheet alloc] init];
//设置照片最大选择数
actionSheet.maxSelectCount = 5;
//设置照片最大预览数
actionSheet.maxPreviewCount = 20;
[actionSheet showWithSender:self animate:YES lastSelectPhotoModels:self.lastSelectMoldels completion:^(NSArray<UIImage *> * _Nonnull selectPhotos, NSArray<ZLSelectPhotoModel *> * _Nonnull selectPhotoModels) {
// 也可以将两个数据 定义成可变数组 使用起来更为灵活
// self.selectedPhotos = [selectPhotos mutableCopy];
// self.lastSelectMoldels = [selectPhotoModels mutableCopy];
self.selectedPhotos = selectPhotos;
self.lastSelectMoldels = selectPhotoModels;
NSLog(@"%@", selectPhotos);
}];
}
第一次使用会崩 , 提示一下报错信息
需要我们在info.plist中添加红色部分的key值
实现效果如下: