From a341c1b2c317b34aab17875d4145cc86321c6d51 Mon Sep 17 00:00:00 2001 From: Vijay Vikram Singh Date: Mon, 14 Oct 2019 06:22:37 -0700 Subject: [PATCH] fix(ios): can not show fullscreen modal windows anymore (#11268) Fixes TIMOB-27453 --- .../TitaniumKit/Sources/API/TiRootViewController.m | 5 +++++ .../TitaniumKit/TitaniumKit/Sources/API/TiViewController.m | 1 - iphone/TitaniumKit/TitaniumKit/Sources/API/TiWindowProxy.m | 6 +++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m index 10c4f9dfe6d..178cadb6728 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiRootViewController.m @@ -11,6 +11,7 @@ #import "TiLayoutQueue.h" #import "TiSharedConfig.h" #import "TiUtils.h" +#import "TiViewController.h" #ifdef FORCE_WITH_MODAL @interface ForcingController : UIViewController { @@ -824,6 +825,10 @@ - (void)showControllerModal:(UIViewController *)theController animated:(BOOL)ani } } [self dismissKeyboard]; + if ([theController isKindOfClass:[TiViewController class]]) { + TiViewController *controller = (TiViewController *)theController; + controller.presentationController.delegate = controller; + } [topVC presentViewController:theController animated:trulyAnimated completion:nil]; } diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiViewController.m b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiViewController.m index 0eb3ccb55a7..5fab62a42dc 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiViewController.m +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiViewController.m @@ -14,7 +14,6 @@ - (id)initWithViewProxy:(TiViewProxy *)window { if (self = [super init]) { _proxy = window; - self.presentationController.delegate = self; [self updateOrientations]; [TiUtils configureController:self withObject:_proxy]; } diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiWindowProxy.m b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiWindowProxy.m index 2284bc31b0e..b3cbb0f0dd2 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiWindowProxy.m +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiWindowProxy.m @@ -553,12 +553,12 @@ - (void)openOnUIThread:(NSArray *)args if (style != -1) { [theController setModalTransitionStyle:style]; } - style = [TiUtils intValue:@"modalStyle" properties:dict def:-1]; - if (style != -1) { + UIModalPresentationStyle modalStyle = [TiUtils intValue:@"modalStyle" properties:dict def:-1]; + if (modalStyle != -1) { // modal transition style page curl must be done only in fullscreen // so only allow if not page curl if ([theController modalTransitionStyle] != UIModalTransitionStylePartialCurl) { - [theController setModalPresentationStyle:style]; + [theController setModalPresentationStyle:modalStyle]; } }