
我以前写过一个专辑选择器,但是它特别粗糙(通常很有趣). 所以. . 决定编写一个更好的专辑选择器MSTImagePickerController.
第一张照片:

这张专辑看起来像这样
首先,在这里说出来. 由于仍然是白色,因此这张专辑中仍有很多地方不令人满意,以后会予以纠正. 希望大家都支持~~
最后,此相册中使用的框架是PHPhotos. 换句话说,仅支持iOS8及更高版本.
MSTImagePickerController(以下称为MSTPicker)具有三种输入方式:
进入相册选择界面. (演示的第一种情况)直接进入相机胶卷,然后可以返回到相册选择界面. (第二例示威)
另一种情况是您可以直接进入相机胶卷,而不能返回到相册选择界面.


这三种方法
专辑的阅读代码没什么可说的,基本上几乎是一样的:

阅读“相机胶卷”
第一个(creationDate)根据创建时间以升序或降序排序. 第二个(mediaType ==%d),用于过滤出您不想读取的类型. 这仅显示图片.
阅读相册后,是时候阅读相册中每张照片的具体信息了:

读取预览图像
预览时,我只是根据当前设备的屏幕尺寸读取图片,这是为了减少内存的使用. 并且ios 打开相册,在滑动时,仅会加载模糊的图片,而在定位到特定图片时则仅加载清晰的图片,可以在上方的GIF中看到.
MSTPicker可以根据图片的创建时间进行分类,共有三个文件: 年,月和日.


类别
如果需要对MSTPicker进行分类,则缺乏完善性,这将在后面提到.
MSTPicker具有照相机和视频功能,但是在检查照片时无法将其记录下来. 同样,检查图片时,无法选择现有视频.
监视系统相册更改,即,添加,删除或修改系统相册时,您会收到一条通知,并且缩略图界面上也会有相应的更改. 这种方法比较长:
系统相册监控
根据官方文档中的示例代码对此进行了改进. 在这里ios 打开相册,我要感谢stackOverflow上的batkru学生对尝试在侦听方法中删除相同的indexPath的崩溃问题的解答. 灰常感谢! ! !
MSTPicker也可以选择并显示实时照片. 由于存在模拟器,因此此处未显示. 有关详细信息,请参见源代码.
通过代理协议返回MSTPicker的返回,并且视频和图片分别返回. 视频返回URL,图像数组和实时照片返回:


MSTImagePickerControllerDelegate
在其他情况下,我个人认为这是界面的图形,因此在这里我不做详细介绍. 如果您想看看童鞋,可以查看MSTPicker的Github:
由于MSTPicker仍是第一版,因此有许多地方需要改进和增强. 以下是一些示例:
根据所选图片重新打开MSTPicker,并标记所选图片.
在缩略图界面中动态显示摄像机图标
自定义界面.
自定义视频显示界面.
选择一个GIF图像.
相机按钮可以放在外面.

增加最小的可选图像尺寸.
相机和麦克风被授权退回.
其余的都标记在代码中.
还有一件重要的事情,我希望最大的改进是图片压缩. 尤其是原始图像,例如: 从系统相册中读取的imageData的大小为1.9M,但是将其转换为UIImage时,大小会飙升至7.9M. 有什么大神可以向弟弟解释吗? .
因为我有点白,所以摸索中有很多事情在前进,感谢您为我提供帮助的文章和伟大的神灵!
有许多未记录的文章(实际上,我真的不知道原始作者是谁).
读这本书! !在这里,我要感谢开放源代码库TZImagePickerController,它提供了很多帮助,当然不是抄袭. 基于TZImagePickerController,MSTPicker具有许多改进. 非常非常感谢您! ! !
最后,希望您能给予指导,这是我的第一个github代码,希望继续改进,谢谢,谢谢.
Github再次地址:
感谢您的支持!
最近我刚刚看到有人对代码的反馈确实很尴尬. . (似乎已经超过两个月了)
幸运的是,它解决了仅在iOS9之后单击选定按钮时添加的问题.
最近,我还考虑在此专辑中添加一些新内容,因为我发现微信专辑的功能变得更加强大.
希望您能提供更多建议!谢谢〜
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-215455-1.html
我们烊烊最棒了