ConvenientImagePicker 0.2.2

ConvenientImagePicker 0.2.2

CLOXnu 维护。



  • 作者:
  • CLOX

Header

ConvenientImagePicker

ConvenientImagePicker

ConvenientImagePicker 是为 iOS 开发编写的美丽且简单的图像选择器解决方案,使用 Swift 实现。这是一个可以简单地在任何地方显示的视图控制器。优秀的交互、多选、照片选择器、暗黑模式等。

Version License Platform Xcode 9.0+ iOS 8.0+ Swift 4.0+ 中文 README

发行说明

最新版本是 0.2.1,修复了相册权限问题。更多信息请参见 发行说明

概览

ConvenientImagePicker 提供平滑的交互,具有出色的用户体验,可以显示系统相册,也可以显示指定的图片。

重要的是强调,ConvenientImagePicker 视图具有精确的手势控制。

OverviewDetailview

要求

  • iOS 9.3+
  • Xcode 9.0+
  • Swift 4.0+

安装

ConvenientImagePicker可以通过CocoaPods进行安装,请将以下条目添加到您的Podfile中

pod 'ConvenientImagePicker'

然后运行pod install

并在需要使用图像选择器的位置包含它

import ConvenientImagePicker

这是一个非常简单的方法。

用法

在准备显示此图像选择器时,我们假设您将调用此类函数

func PresentPhotoPicker()

好的,最简单版本是在此函数中添加以下代码

let pickerViewController = PickerViewController()
pickerViewController.delegate = self
pickerViewController.isSupportLandscape = true // A Boolean value that determines whether the ability of landscape exists.
self.present(pickerViewController, animated: true, completion: nil)

然后,您应在自己的视图控制器中实现ConvenientImagePickerDelegate

并实现以下代理函数

func imagePickerDidCancel(_ selectedImages: [Int : UIImage])
func imageDidSelect(_ imagePicker: PickerViewController, index: Int, image: UIImage?)
func imageDidDeselect(_ imagePicker: PickerViewController, index: Int, image: UIImage?)
func imageSelectMax(_ imagePicker: PickerViewController, wangToSelectIndex: Int, wangToSelectImage: UIImage?)

imagePickerDidCancel将通知您用户已取消图像选择器,并返回用户选择的图像。

imageDidSelect将通知您用户已选择一个图像。

imageDidDeselect将通知您用户已取消选择一个图像。

imageSelectMax将通知您用户想要选择一个图像,但这次他已经选择了限制数量的图像。


在最后三个函数中,您可以使用imagePicker.selectedImageCount获取用户选择的图像数量。

请勿在函数PresentPhotoPicker之外初始化pickerViewController

到目前为止,这是此pod的最简单用法。

可选配置

当然,您可以使用图像选择器的更多功能,甚至对其进行自定义,而不是仅使用默认配置。

请从这里的let pickerViewController = PickerViewController()开始

pickerViewController.maxNumberOfSelectedImage = 50 // The maximum number of pictures allowed.
pickerViewController.allowMultipleSelection = true // A Boolean value that determines whether the picker view can mutiple selection.
pickerViewController.numberOfPictureInRow = 4 // The number of pictures in a row.
pickerViewController.intervalOfPictures = 5.0 // The interval between pictures.
pickerViewController.isSimpleMode = true // A Boolean value that determines whether the title label, count view, and close button exist.
pickerViewController.images = nil // The displayed images, it's will be photo library if nil.
pickerViewController.isDarkMode = false // A Boolean value that determines whether darkmode enable.
pickerViewController.isSwitchDarkAutomately = true // A Boolean value that determines whether darkmode can switched automately. (only iOS 13 valid)
pickerViewController.initialSelectedIndex = [0,1,2,3,4] // A set of index of selected image when the picker appears.
pickerViewController.isAnimated = true // A Boolean value that determines whether the appear animation exists.
pickerViewController.customSelectedImage // A selectedImage type value that relates to the image of selected picture.
pickerViewController.isSupportLandscape = true // A Boolean value that determines whether the ability of landscape exists.

当'isSimpleMode = false'时

simpleMode=false

当配置列表中出现pickerViewController.isSimpleMode = false时,您应该了解titleViewtitleLabelcountLabeldoneButtontitleViewEffectView。(如图右所示)

isSimpleMode = false的情况下,您可以自定义titleViewtitleLabelcountLabeldoneButton

您还可以自定义titleViewEffectViewmainViewcollectionView,无论isSimpleMode的值是什么,因为它们始终存在。

顺便说一句,在isSimpleMode = true的情况下可以自定义decorationBar

如果您需要更多的控制器覆盖,需要使用extension PickerViewController

⚠️注意

  • 如果您想在Info.plist中添加照片选择器,请不要忘记添加NSPhotoLibraryUsageDescription
  • 在使用照片选择器之前请检查读取相册权限。
  • 在准备显示图像选择器时,请始终初始化新变量pickerViewController

实例

在苹果iOS应用《文字卡片》中,已经导入了 ConvenientImagePicker

TextBoxIconNew

instance

许可证

ConvenientImagePicker 以 MIT 许可证发布。详情请参阅 LICENSE

感谢您的支持!🙏