diff --git a/apps/app/ui-tests-app/issues/issue-6439.css b/apps/app/ui-tests-app/issues/issue-6439.css new file mode 100644 index 000000000..95f4f5a0d --- /dev/null +++ b/apps/app/ui-tests-app/issues/issue-6439.css @@ -0,0 +1,8 @@ +.hr-light { + height: 1; + background-color: gray; +} + +.title { + height: 200; +} \ No newline at end of file diff --git a/apps/app/ui-tests-app/issues/issue-6439.xml b/apps/app/ui-tests-app/issues/issue-6439.xml new file mode 100644 index 000000000..c59847062 --- /dev/null +++ b/apps/app/ui-tests-app/issues/issue-6439.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apps/app/ui-tests-app/issues/issue-ng-repo-1599.css b/apps/app/ui-tests-app/issues/issue-ng-repo-1599.css new file mode 100644 index 000000000..421162395 --- /dev/null +++ b/apps/app/ui-tests-app/issues/issue-ng-repo-1599.css @@ -0,0 +1,35 @@ +.page { + padding: 20; +} + +.title { + font-weight: bold; +} + +.list-items { + border-radius: 10; + background-repeat: no-repeat; + background-size: cover; + background-position: center top; + background-color: black; + margin-top: 20; +} + +.item-title { + color: white; + vertical-align: bottom; + font-size: 30; + padding: 180 20 20; + font-weight: 600; +} + +.list-item__row { + padding-left: 20; +} + +.list-item { + border-radius: 4; + background-color: white; + margin: 0 10 20 0; + padding: 5 10; +} \ No newline at end of file diff --git a/apps/app/ui-tests-app/issues/issue-ng-repo-1599.xml b/apps/app/ui-tests-app/issues/issue-ng-repo-1599.xml new file mode 100644 index 000000000..88d363d5d --- /dev/null +++ b/apps/app/ui-tests-app/issues/issue-ng-repo-1599.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apps/app/ui-tests-app/issues/main-page.ts b/apps/app/ui-tests-app/issues/main-page.ts index fa2dec103..82f8ee5fc 100644 --- a/apps/app/ui-tests-app/issues/main-page.ts +++ b/apps/app/ui-tests-app/issues/main-page.ts @@ -27,6 +27,8 @@ export function loadExamples() { examples.set("3354-ios", "issues/issue-3354"); examples.set("4450", "issues/issue-4450"); examples.set("5274", "issues/issue-5274"); + examples.set("ng-repo-1599", "issues/issue-ng-repo-1599"); + examples.set("6439", "issues/issue-6439"); return examples; } \ No newline at end of file diff --git a/apps/app/ui-tests-app/scroll-view/safe-area-sub-element.xml b/apps/app/ui-tests-app/scroll-view/safe-area-sub-element.xml index febf79f0e..860aca976 100644 --- a/apps/app/ui-tests-app/scroll-view/safe-area-sub-element.xml +++ b/apps/app/ui-tests-app/scroll-view/safe-area-sub-element.xml @@ -6,7 +6,7 @@ - + diff --git a/tns-core-modules/ui/core/view/view.ios.ts b/tns-core-modules/ui/core/view/view.ios.ts index fe4e125d2..499061701 100644 --- a/tns-core-modules/ui/core/view/view.ios.ts +++ b/tns-core-modules/ui/core/view/view.ios.ts @@ -798,11 +798,11 @@ export namespace ios { } if (inWindowRight < fullscreenPosition.right && inWindowRight >= safeAreaPosition.right + fullscreenPosition.left) { - adjustedPosition.right = fullscreenPosition.right - fullscreenPosition.left; + adjustedPosition.right += fullscreenPosition.right - inWindowRight; } if (inWindowBottom < fullscreenPosition.bottom && inWindowBottom >= safeAreaPosition.bottom + fullscreenPosition.top) { - adjustedPosition.bottom = fullscreenPosition.bottom - fullscreenPosition.top; + adjustedPosition.bottom += fullscreenPosition.bottom - inWindowBottom; } const adjustedFrame = CGRectMake(layout.toDeviceIndependentPixels(adjustedPosition.left), layout.toDeviceIndependentPixels(adjustedPosition.top), layout.toDeviceIndependentPixels(adjustedPosition.right - adjustedPosition.left), layout.toDeviceIndependentPixels(adjustedPosition.bottom - adjustedPosition.top)); @@ -853,7 +853,8 @@ export namespace ios { if (parent.nativeViewProtected instanceof UIScrollView) { const nativeView = parent.nativeViewProtected; - safeArea = nativeView.safeAreaLayoutGuide.layoutFrame; + const insets = nativeView.safeAreaInsets; + safeArea = CGRectMake(insets.left, insets.top, nativeView.contentSize.width - insets.left - insets.right, nativeView.contentSize.height - insets.top - insets.bottom); fullscreen = CGRectMake(0, 0, nativeView.contentSize.width, nativeView.contentSize.height); } else if (parent.viewController) { const nativeView = parent.viewController.view;