Swift - 异步编程库PromiseKit使用详解8(UIImagePickerController的扩展)
作者:hangge | 2018-12-19 08:10
要从相册中的选择图片,自然少不了图片选择器(UIImagePickerController)。PromiseKit 同样也对其进行了扩展,我们使用时不再需要实现相关的代理方法,只需通过链式调用的方式即可获取到结果。
(2)样例代码
九、UIImagePickerController 的扩展
2,使用样例
(1)效果图
- 点击“选择照片”,自动打开相册选择照片
- 照片选中后,返回原界面并加载照片原图,同时控制台会打印照片的 info 信息
- 如果选择照片前打开“编辑”开关,选中照片后会先进入照片编辑页面
(2)样例代码
import UIKit import PromiseKit import PMKUIKit class ViewController: UIViewController { @IBOutlet weak var imageView: UIImageView! @IBOutlet weak var editSwitch: UISwitch! //选取相册 @IBAction func fromAlbum(_ sender: Any) { //初始化图片控制器 let picker = UIImagePickerController() //指定图片控制器类型 picker.sourceType = UIImagePickerController.SourceType.photoLibrary //设置是否允许编辑 picker.allowsEditing = editSwitch.isOn //显示图片控制器选择图片 self.promise(picker).done { info in //查看info对象 print(info) //显示的图片 let image:UIImage! if self.editSwitch.isOn { //获取编辑后的图片 image = info[UIImagePickerController.InfoKey.editedImage.rawValue] as? UIImage }else{ //获取选择的原图 image = info[UIImagePickerController.InfoKey.originalImage.rawValue] as? UIImage } self.imageView.image = image }.catch { error in print("读取相册错误") } } }
全部评论(0)