PhotoPickerKit 0.5.0

PhotoPickerKit 0.5.0

121372288 维护。



  • 通过
  • 121372288

PhotoPickerKit

PhotoPickerKit 是一个专门用于图片选择的插件,支持相册选择,拍照,摄像等。它提供了便捷的选择图片的方式,如果你需要图片选择器,那么PhotoPickerKit是您的不二之选。

功能

  • 是否可以选择图片
  • 是否支持拍照,摄像
  • 是否支持设置选择图片的数量
  • 是否可以预览图片
  • 是否支持多样式
  • 是否兼容横屏和iPad
  • 是否可以自定义UI
  • 是否支持多语言(简体中文和英文)

使用

pod 'PhotoPickerKit'

PhotoPickerKit

你可以很简单地使用这个选择器,使用PhotoPickerManager.shared

PhotoPickerManager.shared.selectImage(viewController: self) { infos in
    // 这里处理选择到的图片
}

PhotoPickerKit PhotoPickerKit

或者你只需要使用相册时:

PhotoPickerManager.shared.showLibrary(viewController: self) { infos in
    // 这里处理选择到的图片
}

也可能你只想使用相机:

PhotoPickerManager.shared.showCamera(viewController: self) { infos in
    // 这里处理选择到的图片
}

PhotoPickerKit 能帮助你选择图片,你能设置你需要的属性(图片的最大数量,是否能选择视频,以及允许的视频长度等),你还可以自定义你自己的主题色,以及选择框的样式。

更高级的示例

如果默认的样式不是你所想要的,那么你可以很大程度地自定义这个选择器,例如你的需求是这样的: 1.上面导航条背景色为 蓝色。 2. 主题色为红色。 3.选择框要求是正方形的外形,同时在图片的左上角。 4.不允许选择视频,只能选择图片。 5.图片最多只能选择3张。 6.只需要使用相册。

PhotoPickerManager.shared.showLibrary(viewController: self, options: [
    .allowType(.onlyPhoto),
    .barColor(UIColor.blue),
    .tintColor(UIColor.red),
    .photoIndicatorStyle(.square),
    .photoIndicatorPosition(.topLeft),
    .optionsAllowed(3)
    ]) { (infos) in
        // 这里处理选择到的图片
    }

需求

  • iOS 8.0+
  • Swift 4.2+

关于相册返回[PhotoPickerManagerMediaItem]

PhotoPickerManagerMediaItem 是一个 [PhotoPickerManager.InfoKey: Any] 集合 PhotoPickerManagerMediaItem 存储着图片或视频对象内容

public static let mediaType: PhotoPickerManager.InfoKey  // a PHAssetMediaType 当前对象类型

public static let originalImage: PhotoPickerManager.InfoKey // a UIImage 原图

public static let smallImage: PhotoPickerManager.InfoKey // a UIImage 缩略图

public static let mediaURL: PhotoPickerManager.InfoKey  // an URL 视频的URL

public static let metaData: PhotoPickerManager.InfoKey // an imageData 图片的Data

@available(iOS 9.1, *)
public static let livePhoto: PhotoPickerManager.InfoKey// a PHLivePhoto livePhoto才有

public static let phAsset: PhotoPickerManager.InfoKey  // a PHAsset 相册选择的时候会有asset

拿到内容可以只使用原图或缩略图。如果是视频类型,那么图片就是当前视频的封面

警告

使用时一定要在项目App Info.plist中添加对应权限的描述,否则必然会出现闪退!

隐私 - 相机使用描述 // 相机权限 隐私 - 照片库使用描述 // 相册权限 隐私 - 麦克风使用描述 // 麦克风权限 - 拍摄时使用