From 5e619180eeadace9c086078206800aa3b6994e76 Mon Sep 17 00:00:00 2001 From: sergdort Date: Tue, 12 Jan 2016 10:17:29 +0200 Subject: [PATCH] Fixes for bug with UIImagePickerController example. To dismiss image picker on cancel button press --- .../UIImagePickerController+RxCreate.swift | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/RxExample/RxExample/Examples/ImagePicker/UIImagePickerController+RxCreate.swift b/RxExample/RxExample/Examples/ImagePicker/UIImagePickerController+RxCreate.swift index 61e89194..f4619468 100644 --- a/RxExample/RxExample/Examples/ImagePicker/UIImagePickerController+RxCreate.swift +++ b/RxExample/RxExample/Examples/ImagePicker/UIImagePickerController+RxCreate.swift @@ -31,6 +31,12 @@ extension UIImagePickerController { static func rx_createWithParent(parent: UIViewController?, animated: Bool = true, configureImagePicker: (UIImagePickerController) throws -> () = { x in }) -> Observable { return Observable.create { [weak parent] observer in let imagePicker = UIImagePickerController() + let dismissDisposable = imagePicker + .rx_didCancel + .subscribeNext({ [unowned imagePicker] in + dismissViewController(imagePicker, animated: true) + }) + do { try configureImagePicker(imagePicker) } @@ -46,10 +52,10 @@ extension UIImagePickerController { parent.presentViewController(imagePicker, animated: animated, completion: nil) observer.on(.Next(imagePicker)) - - return AnonymousDisposable { - dismissViewController(imagePicker, animated: animated) - } + + return CompositeDisposable(dismissDisposable, AnonymousDisposable { + dismissViewController(imagePicker, animated: animated) + }) } } } \ No newline at end of file