Skip to content

Commit cdd5574

Browse files
committed
fix: set ios delegate as late as possible, so that the native UI always hooks to its methods correctly
1 parent 27dbb5d commit cdd5574

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/imagepicker.ios.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,11 @@ export class ImagePicker extends data_observable.Observable {
4343
super();
4444

4545
this._hostView = hostView;
46-
this._imagePickerControllerDelegate = new ImagePickerControllerDelegate();
46+
this._imagePickerControllerDelegate = ImagePickerControllerDelegate.new();
4747

4848
let imagePickerController = QBImagePickerController.alloc().init();
4949
imagePickerController.assetCollectionSubtypes = defaultAssetCollectionSubtypes;
5050
imagePickerController.mediaType = options.mediaType ? <QBImagePickerMediaType>options.mediaType.valueOf() : QBImagePickerMediaType.Any;
51-
imagePickerController.delegate = this._imagePickerControllerDelegate;
5251
imagePickerController.allowsMultipleSelection = options.mode !== 'single';
5352
imagePickerController.minimumNumberOfSelection = options.minimumNumberOfSelection || 0;
5453
imagePickerController.maximumNumberOfSelection = options.maximumNumberOfSelection || 0;
@@ -76,11 +75,15 @@ export class ImagePicker extends data_observable.Observable {
7675
}
7776

7877
present() {
78+
this._imagePickerController.delegate = this._imagePickerControllerDelegate;
79+
7980
return new Promise<void>((resolve, reject) => {
8081
this._imagePickerControllerDelegate._resolve = resolve;
8182
this._imagePickerControllerDelegate._reject = reject;
8283

83-
this.hostController.presentViewControllerAnimatedCompletion(this._imagePickerController, true, null);
84+
this.hostController.presentViewControllerAnimatedCompletion(this._imagePickerController, true, ()=>{
85+
this._imagePickerController.delegate = this._imagePickerControllerDelegate;
86+
});
8487
});
8588
}
8689
}

0 commit comments

Comments
 (0)