- Fix not show picker when close native image picker controller
This commit is contained in:
parent
60b14b37a7
commit
efc65445a7
@ -50,8 +50,6 @@
|
|||||||
|
|
||||||
if (!self.didUpdateConstraints) {
|
if (!self.didUpdateConstraints) {
|
||||||
|
|
||||||
self.didUpdateConstraints = YES;
|
|
||||||
|
|
||||||
[self.contentView autoPinEdgesToSuperviewEdges];
|
[self.contentView autoPinEdgesToSuperviewEdges];
|
||||||
|
|
||||||
[_photoImageView autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:8];
|
[_photoImageView autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:8];
|
||||||
@ -64,6 +62,8 @@
|
|||||||
|
|
||||||
[_loadingSpinner autoAlignAxisToSuperviewAxis:ALAxisHorizontal];
|
[_loadingSpinner autoAlignAxisToSuperviewAxis:ALAxisHorizontal];
|
||||||
[_loadingSpinner autoAlignAxisToSuperviewAxis:ALAxisVertical];
|
[_loadingSpinner autoAlignAxisToSuperviewAxis:ALAxisVertical];
|
||||||
|
|
||||||
|
self.didUpdateConstraints = YES;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -384,7 +384,9 @@
|
|||||||
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
|
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
|
||||||
picker.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil];
|
picker.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil];
|
||||||
|
|
||||||
[self presentViewController:picker animated:YES completion:nil];
|
[_targetController presentViewController:picker animated:YES completion:^{
|
||||||
|
[self dismissAnimated:YES];
|
||||||
|
}];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -394,7 +396,9 @@
|
|||||||
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
|
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
|
||||||
picker.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil];
|
picker.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil];
|
||||||
|
|
||||||
[self presentViewController:picker animated:YES completion:nil];
|
[_targetController presentViewController:picker animated:YES completion:^{
|
||||||
|
[self dismissAnimated:YES];
|
||||||
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
|
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
|
||||||
@ -409,7 +413,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
|
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
|
||||||
[picker dismissViewControllerAnimated:YES completion:nil];
|
[picker dismissViewControllerAnimated:YES completion:^{
|
||||||
|
[self showImagePickerInController:_targetController];
|
||||||
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - Show
|
#pragma mark - Show
|
||||||
@ -420,6 +426,8 @@
|
|||||||
|
|
||||||
- (void)showImagePickerInController:(UIViewController *)controller animated:(BOOL)animated {
|
- (void)showImagePickerInController:(UIViewController *)controller animated:(BOOL)animated {
|
||||||
if (_isVisible != YES) {
|
if (_isVisible != YES) {
|
||||||
|
_targetController = controller;
|
||||||
|
|
||||||
if ([delegate respondsToSelector:@selector(imagePickerWillOpen)]) {
|
if ([delegate respondsToSelector:@selector(imagePickerWillOpen)]) {
|
||||||
[delegate imagePickerWillOpen];
|
[delegate imagePickerWillOpen];
|
||||||
}
|
}
|
||||||
@ -428,7 +436,7 @@
|
|||||||
[self setTransitioningDelegate:transitionController];
|
[self setTransitioningDelegate:transitionController];
|
||||||
self.modalPresentationStyle = UIModalPresentationOverCurrentContext;
|
self.modalPresentationStyle = UIModalPresentationOverCurrentContext;
|
||||||
|
|
||||||
[controller presentViewController:self animated:NO completion:^{
|
[_targetController presentViewController:self animated:NO completion:^{
|
||||||
|
|
||||||
[_imagePickerView setNeedsUpdateConstraints];
|
[_imagePickerView setNeedsUpdateConstraints];
|
||||||
[_imagePickerView updateConstraintsIfNeeded];
|
[_imagePickerView updateConstraintsIfNeeded];
|
||||||
@ -479,7 +487,6 @@
|
|||||||
[_imagePickerView setNeedsUpdateConstraints];
|
[_imagePickerView setNeedsUpdateConstraints];
|
||||||
[_imagePickerView updateConstraintsIfNeeded];
|
[_imagePickerView updateConstraintsIfNeeded];
|
||||||
|
|
||||||
_isVisible = NO;
|
|
||||||
if (animated) {
|
if (animated) {
|
||||||
|
|
||||||
[UIView animateWithDuration:_animationTime
|
[UIView animateWithDuration:_animationTime
|
||||||
@ -520,13 +527,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) dismissViewControllerAnimated:(BOOL)animated completion:(void (^ _Nullable)(void))completion {
|
|
||||||
[self dismissAnimated:animated];
|
|
||||||
if (completion) {
|
|
||||||
completion();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user