PhotoPickerKit 是一个专门用于图片选择的插件,支持相册选择,拍照,摄像等。它提供了便捷的选择图片的方式,如果你需要图片选择器,那么PhotoPickerKit是您的不二之选。
功能
- 是否可以选择图片
- 是否支持拍照,摄像
- 是否支持设置选择图片的数量
- 是否可以预览图片
- 是否支持多样式
- 是否兼容横屏和iPad
- 是否可以自定义UI
- 是否支持多语言(简体中文和英文)
使用
pod 'PhotoPickerKit'
PhotoPickerKit
你可以很简单地使用这个选择器,使用PhotoPickerManager.shared
:
PhotoPickerManager.shared.selectImage(viewController: self) { infos in
// 这里处理选择到的图片
}
或者你只需要使用相册时:
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中添加对应权限的描述,否则必然会出现闪退!
隐私 - 相机使用描述 // 相机权限 隐私 - 照片库使用描述 // 相册权限 隐私 - 麦克风使用描述 // 麦克风权限 - 拍摄时使用