测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最近发布 | 2016年9月 |
SPM支持 SPM | ✗ |
由 Pablo Villar 维护。
用于在设备或相机中挑选图片或视频的古典操作表的动作轻量级API。
我们知道,在大多数 iOS 应用中,展示用于挑选媒体的著名操作表是很常见的。然而,实现该功能通常需要您编写大量样板代码,在这个过程中,您很可能遇到糟糕的事情(比如 kUTTypeImage
或 info[UIImagePickerControllerOriginalImage]
,仅举几例)。
MediaPickerController
在您的 UIViewController
实例与iOS原生API(由 AVFoundation
和 MobileCoreServices
提供)处理媒体挑选之间充当一层。
通过使用此类,您不必担心编写上述样板代码;此类会为您在内部处理所有这些,提供清洁且优雅的API,您只需几行代码即可在您的 UIViewController
中使用。
UIImage
对象。NSData
,以及在设备上分配的 NSURL
,以及代表视频缩略图预览的 UIImage
对象。您只需要关注四个简单的事情
MediaPickerController
对象。delegate
设置为您的 UIViewController
类。show()
方法。MediaPickerControllerDelegate
协议,并在它提供的方法中使用结果。以下是随着项目一起提供的示例 ViewController
类:
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var statusLabel: UILabel!
var mediaPickerController: MediaPickerController!
// MARK: - Lifecycle
override func viewDidLoad() {
super.viewDidLoad()
self.mediaPickerController = MediaPickerController(type: .imageAndVideo, presentingViewController: self)
self.mediaPickerController.delegate = self
}
// MARK: - IBAction
@IBAction func pickMedia(_ sender: UIBarButtonItem) {
self.mediaPickerController.show()
}
}
extension ViewController: MediaPickerControllerDelegate {
func mediaPickerControllerDidPickImage(_ image: UIImage) {
self.statusLabel.text = "Picked Image\nPreview:"
self.imageView.image = image
}
func mediaPickerControllerDidPickVideo(url: URL, data: Data, thumbnail: UIImage) {
self.statusLabel.text = "Picked Video\nURL in device: \(url.absoluteString)\nThumbnail Preview:"
self.imageView.image = thumbnail
}
}
您可以直接克隆仓库并将 MediaPickerController
文件夹复制到您的项目,或者通过 CocoaPods 安装以保持最新。
1.1.0
版本支持 Swift 2.3。1.0.2
版本支持 Swift 2.2。有关此库使用的 问题 或 一般意见,请使用我们的公开 HipChat 房间。
如果您在使用此库时发现任何 错误 或问题,请在此仓库(或拉取请求)中 提交问题。
您还可以在我们的 inaka.github.io 查看所有开源项目。