YZImagePicker 0.1.1

YZImagePicker 0.1.1

Vipul Patel 维护。



  • Vipul Patel

YZImagePicker

Version License Platform

需求

  • iOS 12.0+
  • Xcode 11+
  • Swift 5.0+

备注

要使用此库,需要在 info.plist 文件中设置以下密钥。

  • NSCameraUsageDescription - 隐私 - 相机使用说明。
  • NSPhotoLibraryUsageDescription - 隐私 - 相册使用说明。

功能

  • 用于通过 UIImagePickerController 从设备相机或照片库中选择图像。
  • 内置图像裁剪功能,使用 RSKImageCropper 库。

用法

1. YZImagePickerConfig 类

YZImagePickerConfig 用来配置 YZImagePicker 对象。它将初始化 cropModecropConfig 属性。

属性

  • cropMode - 配置图像裁剪模式,该属性的可用值包括 .circle.square.custom
  • cropConfig - 使用它来配置裁剪属性,要了解更多详细信息,请参考 YZImagePickerCropConfig

初始化

let objImagePickerConfig = YZImagePickerConfig(.circle)

2. YZImagePickerCropConfig 类

YZImagePickerCropConfig 用来配置当 cropMode = .customYZImagePickerConfig 对象。它将初始化以下属性。

属性

  • vTopSpace - 用于配置裁剪矩形布局的顶部垂直空间。
  • hLeadingSpace - 用于配置裁剪矩形布局的领先水平空间。
  • hTrailingSpace - 用于配置裁剪矩形布局的尾部水平空间。
  • vBottomSpace - 用于配置裁剪矩形布局的底部垂直空间。
  • cornerRadius - 用于配置裁剪矩形布局的圆角。默认值是 .leastNonzeroMagnitude
  • width - 用于根据提供的 hLeadingSpacehTrailingSpace 计算宽度。
  • height - 用于根据提供的 vTopSpace vBottomSpace 计算高度。
  • cgRect - 用于根据提供的 vTopSpacehLeadingSpace vBottomSpacehTrailingSpace 计算 CGRect

初始化

let objImageCropConfig = YZImagePickerCropConfig(100, leadingSpace: 30, bottomSpace: 100, trailingSpace: 30, cornerRadius: 8)
let objImagePickerConfig = YZImagePickerConfig(.custom, cropConfig: objImageCropConfig)

3. YZImagePicker 类

YZImagePicker 用于从设备相机捕获图像或根据提供的属性从照片库中选择图像。

属性

  • presentationController - 用于显示 UIImagePickerControllerRSKImageCropViewController
  • anyObject - 用于存储 Any 类型对象以传递值。
  • delegate - 用于处理事件,如用户选择图像或取消操作。
  • imagePickerConfig - 用于存储 YZImagePickerConfig

初始化

import YZImagePicker

class ViewController: UIViewController, YZImagePickerDelegate {
    var objImagePicker: YZImagePicker!
    override func viewDidLoad() {
        super.viewDidLoad()
        if objImagePicker == nil {
            objImagePicker = YZImagePicker(self, delegate: self) //It will initialize object without Cropping features.
        }
    }
}

class ViewController: UIViewController, YZImagePickerDelegate {
    var objImagePicker: YZImagePicker!
    override func viewDidLoad() {
        super.viewDidLoad()
        if objImagePicker == nil {
            let yzImageCropConfig = YZImagePickerCropConfig(120, leadingSpace: 20, bottomSpace: 120, trailingSpace: 20, cornerRadius: 5)
            let yzImagePickerConfig = YZImagePickerConfig(.custom, cropConfig: yzImageCropConfig)
            objImagePicker = YZImagePicker(self, delegate: self, imagePickerConfig: yzImagePickerConfig) //It will initialize object with Cropping features.
        }
    }
}

方法

  • takePhoto() - 用于从设备相机拍照。
  • chooseFromLibrary() - 用于从设备照片库中选择照片。

YZImagePickerDelegate

  • @objc optional func imagePickerDidSelected(image: UIImage?, anyObject: Any?) - 用户选择或捕获图像时调用代理方法。
  • @objc optional func imagePickerDidCancel(anyObject: Any?) - 用户取消选择或捕获图片时,调用该代理方法。
  • @objc optional func imagePickerPermissionDidChanged(status: Int, isGranted: Bool, anyObject: Any?) - 当用户更改设备相机或相册权限时,调用该代理方法。

安装

YZImagePicker 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod 'YZImagePicker', '~> 0.1.1'

作者

Vipul Patel (Yudiz Solutions Pvt. Ltd.), [email protected]

许可协议

YZImagePicker 在 MIT 许可协议下发布。有关详细信息,请参阅 LICENSE