仍然使用UIImagePickerController吗? ——iOS相册选择器

电脑杂谈  发布时间:2020-05-19 15:13:02  来源:网络整理

强制打开相册 ios_ios 打开相册和照相机_ios 打开相册

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

第一张照片:

1679562-2c262fb3df940a22.gif

这张专辑看起来像这样

首先,在这里说出来. 由于仍然是白色,因此这张专辑中仍有很多地方不令人满意,以后会予以纠正. 希望大家都支持~~

最后,此相册中使用的框架是PHPhotos. 换句话说,仅支持iOS8及更高版本.

MSTImagePickerController(以下称为MSTPicker)具有三种输入方式:

进入相册选择界面. (演示的第一种情况)直接进入相机胶卷,然后可以返回到相册选择界面. (第二例示威)

另一种情况是您可以直接进入相机胶卷,而不能返回到相册选择界面.

1679562-8354631629aa3cd3.png

ios 打开相册和照相机_ios 打开相册_强制打开相册 ios

这三种方法

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

1679562-0072d02cbec5bec0.png

阅读“相机胶卷”

第一个(creationDate)根据创建时间以升序或降序排序. 第二个(mediaType ==%d),用于过滤出您不想读取的类型. 这仅显示图片.

阅读相册后,是时候阅读相册中每张照片的具体信息了:

1679562-1551519f88bb3fac.png

读取预览图像

预览时,我只是根据当前设备的屏幕尺寸读取图片,这是为了减少内存的使用. 并且ios 打开相册,在滑动时,仅会加载模糊的图片,而在定位到特定图片时则仅加载清晰的图片,可以在上方的GIF中看到.

MSTPicker可以根据图片的创建时间进行分类,共有三个文件: 年,月和日.

强制打开相册 ios_ios 打开相册_ios 打开相册和照相机

1679562-a0116c379c090448.png

类别

如果需要对MSTPicker进行分类,则缺乏完善性,这将在后面提到.

MSTPicker具有照相机和视频功能,但是在检查照片时无法将其记录下来. 同样,检查图片时,无法选择现有视频.

监视系统相册更改,即,添加,删除或修改系统相册时,您会收到一条通知,并且缩略图界面上也会有相应的更改. 这种方法比较长:

1679562-8ae8d8778f890501.png

系统相册监控

根据官方文档中的示例代码对此进行了改进. 在这里ios 打开相册,我要感谢stackOverflow上的batkru学生对尝试在侦听方法中删除相同的indexPath的崩溃问题的解答. 灰常感谢! ! !

MSTPicker也可以选择并显示实时照片. 由于存在模拟器,因此此处未显示. 有关详细信息,请参见源代码.

通过代理协议返回MSTPicker的返回,并且视频和图片分别返回. 视频返回URL,图像数组和实时照片返回:

ios 打开相册和照相机_ios 打开相册_强制打开相册 ios

1679562-f6435b604a11c54b.png

MSTImagePickerControllerDelegate

在其他情况下,我个人认为这是界面的图形,因此在这里我不做详细介绍. 如果您想看看童鞋,可以查看MSTPicker的Github:

由于MSTPicker仍是第一版,因此有许多地方需要改进和增强. 以下是一些示例:

根据所选图片重新打开MSTPicker,并标记所选图片.

在缩略图界面中动态显示摄像机图标

自定义界面.

自定义视频显示界面.

选择一个GIF图像.

相机按钮可以放在外面.

强制打开相册 ios_ios 打开相册_ios 打开相册和照相机

增加最小的可选图像尺寸.

相机和麦克风被授权退回.

其余的都标记在代码中.

还有一件重要的事情,我希望最大的改进是图片压缩. 尤其是原始图像,例如: 从系统相册中读取的imageData的大小为1.9M,但是将其转换为UIImage时,大小会飙升至7.9M. 有什么大神可以向弟弟解释吗? .

因为我有点白,所以摸索中有很多事情在前进,感谢您为我提供帮助的文章和伟大的神灵!

有许多未记录的文章(实际上,我真的不知道原始作者是谁).

读这本书! !在这里,我要感谢开放源代码库TZImagePickerController,它提供了很多帮助,当然不是抄袭. 基于TZImagePickerController,MSTPicker具有许多改进. 非常非常感谢您! ! !

最后,希望您能给予指导,这是我的第一个github代码,希望继续改进,谢谢,谢谢.

Github再次地址:

感谢您的支持!

最近我刚刚看到有人对代码的反馈确实很尴尬. . (似乎已经超过两个月了)

幸运的是,它解决了仅在iOS9之后单击选定按钮时添加的问题.

最近,我还考虑在此专辑中添加一些新内容,因为我发现微信专辑的功能变得更加强大.

希望您能提供更多建议!谢谢〜


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-215455-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...