iOS开发利用ELCImagePicker第三方实现图片的多选
来源:互联网 发布:怎么购买阿里云服务器 编辑:程序博客网 时间:2024/05/16 08:43
#import "ViewController.h"#import "ELCImagePickerController.h"#import <AssetsLibrary/AssetsLibrary.h>#import <MobileCoreServices/UTCoreTypes.h>@interface ViewController ()<UIActionSheetDelegate, UIImagePickerControllerDelegate,UINavigationControllerDelegate,ELCImagePickerControllerDelegate>@property (nonatomic,strong) UIImageView *imageView;@property (nonatomic,strong) UIImageView *imageView1;@end@implementation ViewController- (UIImageView *)imageView{ if (!_imageView) { self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 64 , 200, 200)]; // [_imageView setContentMode:UIViewContentModeScaleAspectFit]; _imageView.layer.cornerRadius = 100; _imageView.clipsToBounds = YES; [self.view addSubview:_imageView]; } return _imageView;}- (UIImageView *)imageView1{ if (!_imageView1) { self.imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(100, 364 , 200, 200)]; _imageView1.layer.cornerRadius = 100; _imageView1.clipsToBounds = YES; [self.view addSubview:_imageView1]; } return _imageView1;}- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}- (IBAction)selectPhoto:(id)sender{ UIActionSheet *_sheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"打开照相机", @"从相册中获取", nil]; [_sheet showInView:self.view];}- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{ switch (buttonIndex) { case 0: //选择照相机 [self takePhoto]; break; case 1: //选择相册 [self LocalPhoto]; break; default: break; }}- (void)takePhoto{ UIImagePickerControllerSourceType sourcType = UIImagePickerControllerSourceTypeCamera; if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { UIImagePickerController *picker = [[UIImagePickerController alloc]init]; picker.delegate = self; picker.sourceType = sourcType; [self presentViewController:picker animated:YES completion:^{ }]; }else{ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"无法调取相机,请检查" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil]; [alert show]; return; }}- (void)LocalPhoto{ ELCImagePickerController *elcPicker = [[ELCImagePickerController alloc] initImagePicker]; elcPicker.maximumImagesCount = 9; //选择图像的最大数量设置为9 elcPicker.returnsOriginalImage = YES; //只返回fullScreenImage,不是fullResolutionImage elcPicker.returnsImage = YES; //如果是的 返回UIimage。如果没有,只返回资产位置信息 elcPicker.onOrder = YES; //对多个图像选择、显示和返回的顺序选择图像 elcPicker.mediaTypes = @[(NSString *)kUTTypeImage]; //支持图片和电影类型 elcPicker.imagePickerDelegate = self; [self presentViewController:elcPicker animated:YES completion:nil];}-(void)elcImagePickerControllerDidCancel:(ELCImagePickerController *)picker{}//相册- (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPickingMediaWithInfo:(NSArray *)info{ NSMutableArray *array = [NSMutableArray array]; [array removeAllObjects]; [self dismissViewControllerAnimated:YES completion:nil]; NSLog(@"%@", info); for (NSDictionary *dict in info) { if ([dict objectForKey:UIImagePickerControllerMediaType] == ALAssetTypePhoto){ if ([dict objectForKey:UIImagePickerControllerOriginalImage]){ //把图片取出来放到数组里面 UIImage* image=[dict objectForKey:UIImagePickerControllerOriginalImage]; [array addObject:image]; } }else { // NSLog(@"UIImagePickerControllerReferenceURL = %@", dict); } } self.imageView.image = array[0]; self.imageView1.image = array[1];}#pragma mark - 照片选择代理方法- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ // 1. 获取编辑后的照片 UIImage *image; switch (picker.sourceType) { case UIImagePickerControllerSourceTypeCamera: image = info[@"UIImagePickerControllerOriginalImage"]; //将图片保存到相册 [self saveImageToPhotos:image]; break; case UIImagePickerControllerSourceTypePhotoLibrary: image = info[@"UIImagePickerControllerEditedImage"]; break; default: break; } // 2. 设置按钮的图像 self.imageView.image = image; // 3. 关闭照片选择控制器 [self dismissViewControllerAnimated:YES completion:nil];}//将图片保存到相册- (void)saveImageToPhotos:(UIImage*)savedImage{ UIImageWriteToSavedPhotosAlbum(savedImage, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);}// 指定回调方法- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{ NSString *msg = nil ; if(error != NULL){ msg = @"保存图片失败" ; }else{ msg = @"保存图片成功" ; } UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"保存图片结果提示" message:msg delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil]; [alert show];}@end第三方下载地址http://pan.baidu.com/s/1qW6yXn2或者https://github.com/B-Sides/ELCImagePickerControllergithub上的和我手里版本竟然不一样,我是按照我手里的版本写的
0 1
- iOS开发利用ELCImagePicker第三方实现图片的多选
- iOS开发利用ELCImagePicker第三方实现图片的多选
- ios 使用ELCImagePicker实现相册照片多选和真机拍照调试
- iOS-图片上传(第三方服务器)实现图片的上传和获取
- iOS:实现图片的无限轮播---之使用第三方库SDCycleScrollView
- 优化性能的iOS网络图片浏览工具第三方
- iOS 分享多张图片到第三方平台
- iOS:实现图片的无限轮播(二)---之使用第三方库SDCycleScrollView
- iOS:实现图片的无限轮播(二)---之使用第三方库SDCycleScrollView
- iOS图片轮播器(第三方SDCycleScrollView)
- 实现QQ的第三方登录 iOS开发
- iOS QQ第三方登录的简单实现
- iOS 微信第三方登录的简单实现
- iOS 微博第三方登录的简单实现
- iOS QQ实现第三方登录以及遇到的问题
- iOS QQ实现第三方登录以及遇到的问题
- iOS安装CocoaPods 实现第三方的快捷安全引入
- ios第三方的开源类库
- 使用 PHP 直接在共享内存中存储数据集
- python程序调优
- Linux下如何访问和修改u-boot环境变量?
- เล่น casino online
- 如何查看hadoop集群是否安装成功(用jps命令和实例进行验证)
- iOS开发利用ELCImagePicker第三方实现图片的多选
- MFC 对话框编程
- 写出好的code总结
- DDL和DML的定义和区别
- 上古神器Vim之查找
- Linux启动时~/.bash_profile等文件的执行过程
- 在PHP中使用Memcache优化缓冲性能
- เส้นทางพารวยของคาสิโนออนไลน์
- Android Fragment 如何清空回退栈中的Fragment