diff --git a/Helper/ImagePicker.swift b/Helper/ImagePicker.swift deleted file mode 100644 index c29fa0a..0000000 --- a/Helper/ImagePicker.swift +++ /dev/null @@ -1,82 +0,0 @@ -// -// ImagePicker.swift -// -// Created by JungpyoHong on 4/21/21. -// - -import UIKit - -public protocol ImagePickerDelegate: AnyObject { - func didSelect(image: UIImage?) -} - -open class ImagePicker: NSObject { - - private let imagePicker: UIImagePickerController - private weak var presentationController: UIViewController? - private weak var delegate: ImagePickerDelegate? - - public init(presentationController: UIViewController, delegate: ImagePickerDelegate) { - self.imagePicker = UIImagePickerController() - - super.init() - - self.presentationController = presentationController - self.delegate = delegate - self.imagePicker.delegate = self - self.imagePicker.allowsEditing = true - self.imagePicker.mediaTypes = ["public.image"] - } - - private func action(for type: UIImagePickerController.SourceType, title: String) -> UIAlertAction? { - guard UIImagePickerController.isSourceTypeAvailable(type) else { - return nil - } - - return UIAlertAction(title: title, style: .default) { [weak self] _ in - self?.imagePicker.sourceType = type - self?.presentationController?.present(self?.imagePicker ?? UIImagePickerController(), animated: true) - } - } - - public func present(from sourceView: UIView) { - - let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) - if let action = self.action(for: .camera, title: "Take photo") { - alertController.addAction(action) - } - if let action = self.action(for: .savedPhotosAlbum, title: "Camera roll") { - alertController.addAction(action) - } - if let action = self.action(for: .photoLibrary, title: "Photo library") { - alertController.addAction(action) - } - - alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil)) - self.presentationController?.present(alertController, animated: true) - } - - private func pickerController(_ controller: UIImagePickerController, didSelect image: UIImage?) { - controller.dismiss(animated: true, completion: nil) - - self.delegate?.didSelect(image: image) - } -} - -extension ImagePicker: UIImagePickerControllerDelegate { - - public func imagePickerControllerDidCancel(_ picker: UIImagePickerController) { - self.pickerController(picker, didSelect: nil) - } - - public func imagePickerController(_ picker: UIImagePickerController, - didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) { - guard let image = info[.editedImage] as? UIImage else { - return self.pickerController(picker, didSelect: nil) - } - self.pickerController(picker, didSelect: image) - } -} - -extension ImagePicker: UINavigationControllerDelegate { -}