Skip to content

Instantly share code, notes, and snippets.

@danielt1263
Created April 13, 2017 13:46
Show Gist options
  • Save danielt1263/ae48be9f210ea4e98aa505a9cdc59197 to your computer and use it in GitHub Desktop.
Save danielt1263/ae48be9f210ea4e98aa505a9cdc59197 to your computer and use it in GitHub Desktop.
extension UIViewController
{
func getImage(focusView: UIView) -> Promise<UIImage> {
var delegate: ImagePickerDelegate! = ImagePickerDelegate()
let controller = UIImagePickerController()
controller.delegate = delegate
let result = choiceIndexUsingActionSheet(title: "", message: "", choices: sourceOptions.map { $0.title }, onSourceView: focusView).then { (index) -> Promise<UIImage> in
sourceOptions[index].action(controller)
self.present(controller, animated: true, completion: nil)
return delegate.promise
}
.always {
self.dismiss(animated: true, completion: nil)
delegate = nil
}
return result
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment