diff --git a/e2e/safe-area/app/tabview/action-bar/tabview-hscroll-hstack-page.xml b/e2e/safe-area/app/tabview/action-bar/tabview-hscroll-hstack-page.xml
index ea0321eeb..88766ea88 100644
--- a/e2e/safe-area/app/tabview/action-bar/tabview-hscroll-hstack-page.xml
+++ b/e2e/safe-area/app/tabview/action-bar/tabview-hscroll-hstack-page.xml
@@ -7,10 +7,14 @@
-
+
+
+
-
+
+
+
diff --git a/e2e/safe-area/app/tabview/action-bar/tabview-listview-page.xml b/e2e/safe-area/app/tabview/action-bar/tabview-listview-page.xml
index bd1f42856..2a43a47ea 100644
--- a/e2e/safe-area/app/tabview/action-bar/tabview-listview-page.xml
+++ b/e2e/safe-area/app/tabview/action-bar/tabview-listview-page.xml
@@ -7,10 +7,14 @@
-
+
+
+
-
+
+
+
diff --git a/e2e/safe-area/app/tabview/action-bar/tabview-vscroll-vstack-page.xml b/e2e/safe-area/app/tabview/action-bar/tabview-vscroll-vstack-page.xml
index 9dfee2c7d..744b043e1 100644
--- a/e2e/safe-area/app/tabview/action-bar/tabview-vscroll-vstack-page.xml
+++ b/e2e/safe-area/app/tabview/action-bar/tabview-vscroll-vstack-page.xml
@@ -7,10 +7,14 @@
-
+
+
+
-
+
+
+
diff --git a/e2e/safe-area/app/tabview/no-action-bar/tabview-hscroll-hstack-page.xml b/e2e/safe-area/app/tabview/no-action-bar/tabview-hscroll-hstack-page.xml
index 8ef580334..52262e54b 100644
--- a/e2e/safe-area/app/tabview/no-action-bar/tabview-hscroll-hstack-page.xml
+++ b/e2e/safe-area/app/tabview/no-action-bar/tabview-hscroll-hstack-page.xml
@@ -1,13 +1,17 @@
-
+
+
+
-
+
+
+
diff --git a/e2e/safe-area/app/tabview/no-action-bar/tabview-listview-page.xml b/e2e/safe-area/app/tabview/no-action-bar/tabview-listview-page.xml
index 5de05896e..bd6ac5190 100644
--- a/e2e/safe-area/app/tabview/no-action-bar/tabview-listview-page.xml
+++ b/e2e/safe-area/app/tabview/no-action-bar/tabview-listview-page.xml
@@ -4,10 +4,14 @@
-
+
+
+
-
+
+
+
diff --git a/e2e/safe-area/app/tabview/no-action-bar/tabview-vscroll-vstack-page.xml b/e2e/safe-area/app/tabview/no-action-bar/tabview-vscroll-vstack-page.xml
index 6bfba01af..194a30637 100644
--- a/e2e/safe-area/app/tabview/no-action-bar/tabview-vscroll-vstack-page.xml
+++ b/e2e/safe-area/app/tabview/no-action-bar/tabview-vscroll-vstack-page.xml
@@ -1,13 +1,17 @@
-
+
+
+
-
+
+
+
diff --git a/tns-core-modules/ui/core/view/view.ios.ts b/tns-core-modules/ui/core/view/view.ios.ts
index d0da48a8f..23d4be955 100644
--- a/tns-core-modules/ui/core/view/view.ios.ts
+++ b/tns-core-modules/ui/core/view/view.ios.ts
@@ -831,23 +831,25 @@ export namespace ios {
}
function getAvailableSpaceFromParent(view: View): { safeArea: CGRect, fullscreen: CGRect } {
- // Search for ViewController or UIScrollView parent to get their content size.
- let parent = view.parent;
- while (parent && !parent.viewController && !(parent.nativeViewProtected instanceof UIScrollView)) {
- parent = parent.parent as View;
+ // Search for view and parents with ViewController or parents with UIScrollView parent to get their content size.
+ if (view && !view.viewController) {
+ view = view.parent as View;
+ while (view && !view.viewController && !(view.nativeViewProtected instanceof UIScrollView)) {
+ view = view.parent as View;
+ }
}
let fullscreen = null;
let safeArea = null;
- if (parent.viewController) {
- const nativeView = parent.viewController.view;
+ if (view.viewController) {
+ const nativeView = view.viewController.view;
safeArea = nativeView.safeAreaLayoutGuide.layoutFrame;
fullscreen = nativeView.frame;
}
- if (parent.nativeViewProtected instanceof UIScrollView) {
- const nativeView = parent.nativeViewProtected;
+ if (view.nativeViewProtected instanceof UIScrollView) {
+ const nativeView = view.nativeViewProtected;
safeArea = nativeView.safeAreaLayoutGuide.layoutFrame;
fullscreen = CGRectMake(0, 0, nativeView.contentSize.width, nativeView.contentSize.height);
}