From 1dc395215df050dcc840185a2b0a750dbdfe57ec Mon Sep 17 00:00:00 2001 From: Martin Yankov Date: Fri, 29 Mar 2019 13:36:45 +0200 Subject: [PATCH] fix(ios): flat action bar incorrect layout after navigation (#7077) * fix(action-bar): incorrect layout after navigation * set extended layout for opaque bars earlier --- tns-core-modules/ui/core/view/view.ios.ts | 11 ++++++++--- tns-core-modules/ui/page/page.ios.ts | 11 ++++++++--- tns-core-modules/ui/tab-view/tab-view.ios.ts | 11 ++++++++--- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/tns-core-modules/ui/core/view/view.ios.ts b/tns-core-modules/ui/core/view/view.ios.ts index d44e59823..19e01ed0f 100644 --- a/tns-core-modules/ui/core/view/view.ios.ts +++ b/tns-core-modules/ui/core/view/view.ios.ts @@ -904,6 +904,14 @@ export namespace ios { return controller; } + public viewDidLoad(): void { + super.viewDidLoad(); + + // Unify translucent and opaque bars layout + // this.edgesForExtendedLayout = UIRectEdgeBottom; + this.extendedLayoutIncludesOpaqueBars = true; + } + public viewWillLayoutSubviews(): void { super.viewWillLayoutSubviews(); const owner = this.owner.get(); @@ -959,9 +967,6 @@ export namespace ios { return; } - // Unify translucent and opaque bars layout - this.extendedLayoutIncludesOpaqueBars = true; - updateAutoAdjustScrollInsets(this, owner); if (!owner.parent) { diff --git a/tns-core-modules/ui/page/page.ios.ts b/tns-core-modules/ui/page/page.ios.ts index 2c288be1d..9da43e2eb 100644 --- a/tns-core-modules/ui/page/page.ios.ts +++ b/tns-core-modules/ui/page/page.ios.ts @@ -68,6 +68,14 @@ class UIViewControllerImpl extends UIViewController { return controller; } + public viewDidLoad(): void { + super.viewDidLoad(); + + // Unify translucent and opaque bars layout + // this.edgesForExtendedLayout = UIRectEdgeBottom; + this.extendedLayoutIncludesOpaqueBars = true; + } + public viewWillAppear(animated: boolean): void { super.viewWillAppear(animated); const owner = this._owner.get(); @@ -100,9 +108,6 @@ class UIViewControllerImpl extends UIViewController { frame._updateActionBar(owner); } - // Unify translucent and opaque bars layout - this.extendedLayoutIncludesOpaqueBars = true; - // Set autoAdjustScrollInsets in will appear - as early as possible iosView.updateAutoAdjustScrollInsets(this, owner); diff --git a/tns-core-modules/ui/tab-view/tab-view.ios.ts b/tns-core-modules/ui/tab-view/tab-view.ios.ts index 75d5f6b34..3201e9a2c 100644 --- a/tns-core-modules/ui/tab-view/tab-view.ios.ts +++ b/tns-core-modules/ui/tab-view/tab-view.ios.ts @@ -28,6 +28,14 @@ class UITabBarControllerImpl extends UITabBarController { return handler; } + public viewDidLoad(): void { + super.viewDidLoad(); + + // Unify translucent and opaque bars layout + // this.edgesForExtendedLayout = UIRectEdgeBottom; + this.extendedLayoutIncludesOpaqueBars = true; + } + @profile public viewWillAppear(animated: boolean): void { super.viewWillAppear(animated); @@ -36,9 +44,6 @@ class UITabBarControllerImpl extends UITabBarController { return; } - // Unify translucent and opaque bars layout - this.extendedLayoutIncludesOpaqueBars = true; - iosView.updateAutoAdjustScrollInsets(this, owner); if (!owner.parent) {