diff --git a/apps/modal-views-demo/login-page.ts b/apps/modal-views-demo/login-page.ts
index 357c91e5a..08cccff96 100644
--- a/apps/modal-views-demo/login-page.ts
+++ b/apps/modal-views-demo/login-page.ts
@@ -2,6 +2,7 @@
import pages = require("ui/page");
import textField = require("ui/text-field");
import frame = require("ui/frame");
+import dialogs = require("ui/dialogs");
var closeCallback: Function;
@@ -65,4 +66,13 @@ export function onLoginButtonTap() {
else {
frame.topmost().goBack();
}
+}
+
+export function onShowDialogButtonTap() {
+ console.log(">>> login-page.onShowDialogButtonTap");
+
+ dialogs.alert({ title: "test", message: "Anything", okButtonText: "ok" })
+ .then(function () {
+ console.log("Dialog closed!");
+ });
}
\ No newline at end of file
diff --git a/apps/modal-views-demo/login-page.xml b/apps/modal-views-demo/login-page.xml
index 4d5a182e8..e5640403d 100644
--- a/apps/modal-views-demo/login-page.xml
+++ b/apps/modal-views-demo/login-page.xml
@@ -12,5 +12,6 @@
+
\ No newline at end of file
diff --git a/ui/dialogs/dialogs.ios.ts b/ui/dialogs/dialogs.ios.ts
index 7e200cb79..309f650bb 100644
--- a/ui/dialogs/dialogs.ios.ts
+++ b/ui/dialogs/dialogs.ios.ts
@@ -388,7 +388,7 @@ export function login(arg: any): Promise {
function showUIAlertController(alertController: UIAlertController) {
var currentPage = dialogsCommon.getCurrentPage();
if (currentPage) {
- var viewController: UIViewController = currentPage.ios;
+ var viewController: UIViewController = currentPage.modal ? currentPage.modal.ios : currentPage.ios;
if (viewController) {
if (alertController.popoverPresentationController) {
alertController.popoverPresentationController.sourceView = viewController.view;