iOS--使用MWPhotoBrowser进行图片保存
2017-10-09 00:00
891 查看
多的话不说,直接上代码:
遵守MWPhotoBrowserDelegate协议,
NSMutableArray *_tempImgArr;//存储图片的数据源
UIImage *_saveImg; //将要保存的图片
如图:
遵守MWPhotoBrowserDelegate协议,
NSMutableArray *_tempImgArr;//存储图片的数据源
UIImage *_saveImg; //将要保存的图片
//点击图片 放大 -(void)imgClick:(NSInteger)index { //创建MWPhotoBrowser ,要使用initWithDelegate方法,要遵循MWPhotoBrowserDelegate协议 MWPhotoBrowser *browser = [[MWPhotoBrowser alloc]initWithDelegate:self]; //设置当前要显示的图片 [browser setCurrentPhotoIndex:index]; //显示导航条(根据自己需求) self.navigationController.navigationBar.hidden = NO; browser.navigationController.navigationBar.hidden = NO; //push到MWPhotoBrowser [self.navigationController pushViewController:browser animated:YES]; } //图片的个数 - (NSUInteger)numberOfPhotosInPhotoBrowser:(MWPhotoBrowser *)photoBrowser{ return _tempImgArr.count; } //通过下标获取图片 - (id <MWPhoto>)photoBrowser:(MWPhotoBrowser *)photoBrowser photoAtIndex:(NSUInteger)index{ //创建图片模型 MWPhoto *ph = [MWPhoto photoWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",_tempImgArr[index][@"original"]]]]; //图片添加长按手势 UILongPressGestureRecognizer *lpGes = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPressAction:)]; [photoBrowser.view addGestureRecognizer:lpGes]; return ph; } //获取当前点击的图片 -(void)photoBrowser:(MWPhotoBrowser *)photoBrowser didDisplayPhotoAtIndex:(NSUInteger)index { _saveImg = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",_tempImgArr[index][@"original"]]]]]; } //长按手势 -(void)longPressAction:(UILongPressGestureRecognizer *)ges{ // MWPhotoBrowser *photoBrowser = (MWPhotoBrowser*)[Utils getSuperControllerWith:ges.view]; //只在begin执行一次 if (ges.state == UIGestureRecognizerStateBegan) { NSLog(@"long pressTap state :begin"); UIAlertController *alertC = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet]; UIAlertAction *action1 = [UIAlertAction actionWithTitle:@"保存图片到手机" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { UIImageWriteToSavedPhotosAlbum(_saveImg, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL); }]; UIAlertAction *action2 = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]; [alertC addAction:action1]; [alertC addAction:action2]; [self.navigationController presentViewController:alertC animated:YES completion:nil]; } } // 保存图片后到相册后,回调的相关方法,查看是否保存成功 - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo { AppDelegate *app = (AppDelegate*)[[UIApplication sharedApplication] delegate]; MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:app.window animated:YES]; //显示文字 hud.mode = MBProgressHUDModeText; if (error == nil){ hud.labelText = @"已保存到手机相册!"; } else { hud.labelText = @"保存失败!"; } // 隐藏时候从父控件中移除 hud.removeFromSuperViewOnHide = YES; [hud hide:YES afterDelay:1.5]; }
如图:
相关文章推荐
- iOS--使用MWPhotoBrowser进行图片保存滑动卡顿问题
- iOS开发 - OC之MWPhotoBrowser框架的使用步骤
- MWPhotoBrowser的基本使用及图片尺寸的更改
- MWPhotoBrowser, simple and elegant image library for iOS
- iOS 使用ALAssetsLibrary保存图片到本地
- 使用jquery jcrop插件进行图片的截取与保存
- IOS中使用像素位图(CGImageRef)对图片进行处理
- iOS PhotoBrowser - ZLThumbnailViewController 获取图片列表超过900张内存警告闪退问题
- iOS——使用ScrollView进行图片的缩放
- iOS 使用AFN 进行单图和多图上传 摄像头/相册获取图片,压缩图片
- IOS中使用像素位图(CGImageRef)对图片进行处理
- NSFileManager的使用保存图片,并进行增删查改,还进入部分插入
- java使用文件或字节数组方式加载图片,并修改图片后进行保存、输出等
- JS 使用 Android + IOS 相册 + 相机 进行自定义头像 + 限制裁剪后图片尺寸 + base64 string 与 图片互相转换
- IOS——使用keychain对数据进行持久化保存(删除APP不影响数据)
- iOS中使用像素位图(CGImageRef)对图片进行处理
- 使用jquery jcrop插件进行图片的截取与保存
- iOS使用xcode可视化图像编辑功能进行图片拉伸
- MWPhotoBrowser框架的使用步骤
- IOS中使用像素位图(CGImageRef)对图片进行处理