Skip to content

Commit 5a7ed3c

Browse files
committed
fix(snackbar): ios fix to select view to show snackbar on (ignoring dialogs)
1 parent aabf3b2 commit 5a7ed3c

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

src/snackbar/snackbar.ios.ts

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,23 @@ export class SnackBar extends SnackBarBase {
6262

6363
let nAttachedView: UIView;
6464
if (options.view) {
65-
nAttachedView = options.view.nativeViewProtected;
65+
nAttachedView = options.view.nativeViewProtected || options.view;
6666
} else {
67-
let viewController = Application.ios.rootController;
68-
69-
while (viewController && viewController.presentedViewController) {
70-
viewController = viewController.presentedViewController;
67+
let currentView = Frame.topmost().currentPage || Application.getRootView();
68+
currentView = currentView.modal || currentView;
69+
let viewController = currentView.viewController;
70+
while (viewController.presentedViewController) {
71+
while (
72+
viewController.presentedViewController instanceof UIAlertController ||
73+
(viewController.presentedViewController['isAlertController'] && viewController.presentedViewController.presentedViewController)
74+
) {
75+
viewController = viewController.presentedViewController;
76+
}
77+
if (viewController.presentedViewController instanceof UIAlertController || viewController.presentedViewController['isAlertController']) {
78+
break;
79+
} else {
80+
viewController = viewController.presentedViewController;
81+
}
7182
}
7283
nAttachedView = viewController.view;
7384
}

0 commit comments

Comments
 (0)