ImageSelector
处理摄像头和照片库的最简单方法。
特性
- 自动请求权限
- 处理权限错误
- 创建、显示和处理ActionsSheet
- 简单快速的实现
- 自定义机会
- 对话框的本地化机会
要求
- iOS 9.0+
- Swift 3.0+
- Xcode 8.0+
安装
ImageSelector可以通过CocoaPods获得。要安装它,只需将以下行添加到您的Podfile中
pod "ImageSelector"
如何使用
-
配置您的项目以选择所需的权限类型:在您的.plist文件中添加一个带有目的字符串的特定密钥。
-
在您的类中实现
ImageSelector
协议的所有方法。
名称 | 描述 |
---|---|
presentingController |
应该返回当前视图控制器,例如self |
imageSelected(_:) |
将返回您从相机或相册选择的照片 |
imageSelectionCanceled() |
当用户取消时执行某些操作 |
imageDeleted() |
用户在显示的对话框中选择删除选项 |
editingAllowed() |
允许或禁用编辑选项 |
- 创建一个自定义类型的
ImagePickerController
对象
private lazy var imageController: ImagePickerController = {
let picker = ImagePickerController(imageSelector: self)
return picker
}()
❗️ 您不能懒加载(lazy),而应该始终将其创建为全局变量,而不是局部变量。
- 调用
showImageSources()
方法
imageController.showImageSources()
- 构建. 运行. 欢乐!
🎉
自定义
- 您可以在通过
showImageSources
方法呈现给用户的动作表中添加删除
选项。默认情况下,此方法包含一个表示删除选项的false
参数,因此您可以将其更改为true
。
imageController.showImageSources(true)
-
如果您不想向用户显示动作表,只需调用
pickFromGallery()
或pickFromCamera()
以显示图像选择器即可。 -
您可以通过创建自定义的
ImagePickerControllerConfiguration
来自定义动作表或提供您自己的自定义消息。然后,您需要将其放入ImagePickerController
的初始化方法中。
如果您未创建自定义配置,则将使用默认值。
let configuration = ImagePickerControllerConfiguration()
configuration.actionSheetTitle = "Select photo"
configuration.actionSheetMessage = "Select image from proposed sources"
configuration.cameraActionTitle = "Take a photo"
configuration.galleryActionTitle = "Chose a photo"
configuration.removeActionTitle = "Remove a photo"
configuration.camera = .front
let picker = ImagePickerController(imageSelector: self, configuration())
通过添加自定义配置,您还可以更改默认的相册源。
configuration.camera = .front
示例项目
如何操作?
- 克隆仓库。
- 从示例目录运行
pod install
- 享受吧!
🎉
作者
Lemberg Solutions
Sergiy Loza, [email protected]
许可证
ImageSelector 在 MTI 许可证 之下提供。请在 LICENSE 文件中查看更多信息。