GeezerVison is showing github.com — Request layout when showing/hiding the nabar · alvsgithub/NativeScript@8fcd8a7
File tree
Expand file treeCollapse file tree
Open diff view settings
Expand file treeCollapse file tree
Open diff view settings
Collapse file
Copy file name to clipboardExpand all lines: ui/frame/frame.ios.ts +11-3Lines changed: 11 additions & 3 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -71,20 +71,28 @@ export class Frame extends frameCommon.Frame { |
71 | 71 | } |
72 | 72 |
|
73 | 73 | public updateNavigationBar(page?: pages.Page): void { |
| 74 | + var previousValue = !!this._ios.showNavigationBar; |
| 75 | + var newValue: boolean = false; |
74 | 76 | switch (this._ios.navBarVisibility) { |
75 | 77 | case enums.NavigationBarVisibility.always: |
76 | | - this._ios.showNavigationBar = true; |
| 78 | + newValue = true; |
77 | 79 | break; |
78 | 80 |
|
79 | 81 | case enums.NavigationBarVisibility.never: |
80 | | - this._ios.showNavigationBar = false; |
| 82 | + newValue = false; |
81 | 83 | break; |
82 | 84 |
|
83 | 85 | case enums.NavigationBarVisibility.auto: |
84 | 86 | var pageInstance: pages.Page = page || this.currentPage; |
85 | | - this._ios.showNavigationBar = this.backStack.length > 0 || (pageInstance && pageInstance.optionsMenu.getItems().length > 0); |
| 87 | + newValue = this.backStack.length > 0 || (pageInstance && pageInstance.optionsMenu.getItems().length > 0); |
| 88 | + newValue = !!newValue; // Make sure it is boolean |
86 | 89 | break; |
87 | 90 | } |
| 91 | + |
| 92 | + this._ios.showNavigationBar = newValue; |
| 93 | + if (previousValue !== newValue) { |
| 94 | + this.requestLayout(); |
| 95 | + } |
88 | 96 | } |
89 | 97 |
|
90 | 98 | public get ios(): iOSFrame { |
|