diff --git a/src/ios/CDVSpinnerDialog.m b/src/ios/CDVSpinnerDialog.m index 71be635..d4f0894 100644 --- a/src/ios/CDVSpinnerDialog.m +++ b/src/ios/CDVSpinnerDialog.m @@ -88,7 +88,7 @@ - (void) show:(CDVInvokedUrlCommand*)command { UIViewController *rootViewController = [[[[UIApplication sharedApplication] delegate] window] rootViewController]; - [rootViewController.view addSubview:self.overlay]; + [[self getTopMostViewController].view addSubview:self.overlay]; } @@ -107,6 +107,13 @@ - (void) hide { _overlay = nil; } } +- (UIViewController*) getTopMostViewController { + UIViewController *presentingViewController = [[[UIApplication sharedApplication] delegate] window].rootViewController; + while (presentingViewController.presentedViewController != nil) { + presentingViewController = presentingViewController.presentedViewController; + } + return presentingViewController; +} #pragma mark - PRIVATE METHODS