iOS仿微信qq图片选择器imagePicker --只需要初始化并贴上一个view

git请移步(带pod) https://github.com/Assuner-Lee/LPDQuoteImagesView

最新加入了pod

本库封装于TZImagePickerController

pod  'LPDQuoteImagesView'

# LPDQuoteImagesView

(iOS-imagePicker仿qq仿微信--pickImage and quote)只需要几行简单的代码,就可以引入多选照片并引用照片的功能模块(贴上一个view,就获得了全部).  所有的功能都集成到了黑盒里,你需要做的只是初始化quoteview和取得quoteview 的已选择图片数组(支持拍照,视频)。

这是贴上去的quoteView  (图片1红色矩形区域)

 
 

这就是quoteView贴上去的效果(红色矩形内区域),点击可以选择或预览照片(可设置拖拽排序),点击右上角删除(有动画),可以通过引用这个view的selectedPhotos属性得到UIImage数组,保存或上传!

简单介绍下用法(目前)

-------------------------------------------------------------------------------------

1>.引入头文件

#import "LPDQuoteImagesView.h"

-----------------------------------------------------------------------------------

2>初始化一个quoteImagesView (UIView类型)

eg:(假设初始化一个和屏幕差不多等宽的view)

LPDQuoteImagesView *quoteImagesView =[[LPDQuoteImagesView alloc] initWithFrame: CGRectMake(x, y, width, hight)withCountPerRowInView: 5 cellMargin: 12 ];

//初始化 此view的frame, view里每行cell个数, cell间距(如上方图1,cell上缩略图大小是根据设置自动计算的)

注:设置frame时,我们可以根据设计人员给的cell的宽度和最大个数、排列,间距去大致计算下quoteview的size.

quoteImagesView .maxSelectedCount;

//最大可选照片数

quoteImagesView.collectionView .scrollEnabled= NO;

//view可否滑动

-----------------------------------------

quoteImagesView.navcDelegate =  vc;  // vc 是一个viewController,(一般vc是指 self,即在控制器里初始化)

/ / 勉强算一个委托(委托controller弹出imagePicker但不用实现委托方法,  以后可以加一些可选协议方法在某些时机让委托对象做些事)

[aViewaddSubview: quoteImagesView];

//把咱们的view加到某一个视图上,就什么都不用管了!!!(一般来说是委托控制器里的某一个视图)

-------------------------------------------

-----------------------------------------------------------------------------------

3>.获取引用图片

NSArray<UIImage *> *imageArray = [NSArray   arrayWithArray: quoteImagesView .selectedPhotos];  

//selectedPhotos 属性就是你看到的那些选中的照片的集合

注:quoteImagesView.selectedPhotos为NSArray属性,引用的数组会变化,您可以在需要用到照片的方法里去拿一次照片数组,不可初始化的时候直接引用数组(此时数组为nil)。。。selectedPhotos只能反映当前状态下已选中的照片(例如上传按钮绑定的方法里去拿一次)。

////只需要贴上view,其他的在图库选照片,预览,保存,更新缩略图均不需要依赖新的对象参与,引入不需要额外代码,包括collect view ,一切处理响应都封在了quoteview及 “黑盒” 中。

-----------------------------------------------------------------------------------

效果图

图片2(选照片界面)

 

 
预览功能

3.预览

 
 

选中照片,蓝色框还有动画效果。。。。

 

-----------------------------------------------------------------------------------

其他特性:导航栏自动适应APP颜色,其他的蓝色对号,蓝色椭圆 如需要其他样式可在bundle资源中替换,选中的图片缩略图排列可设置拖拽改变位置,删除整体也带有动画效果,添加到最大数目没有➕,删除就出现等

本库封装于TZImagePickerController, 很多业务场景下很实用,感谢!

-------------------------------------------------------------------------------

-------------------------------------------------------------------------------

如果需要上传图片,必须是NSData类型的,例如

NSArray<UIImage *>*imageArray = [NSArray arrayWithArray:_quoteImagesView.selectedPhotos];

//取得照片数组

NSMutableArray<NSData *>*imageDataArray = [[NSMutableArray alloc] init];

for(UIImage *imageObject in imageArray){

NSData *imageData = UIImageJPEGRepresentation(imageObject, 0.3);

//UIImage转换为NSData

[imageDataArray addObject:imageData];

}

然后一个个NSData类型的对象可以放在post请求formData里上传出去

------------------------------------------------------------------------

https://github.com/Assuner-Lee/LPDQuoteImagesView

如果您觉得还不错,别忘了点个星星哦,谢谢大家!!!!



作者:Assuner
链接:https://www.jianshu.com/p/2b9086d2c37b
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2018-05-26 00:06  sundaysios  阅读(668)  评论(0编辑  收藏  举报