Skip to content

Commit 056d0bf

Browse files
authored
fix(bottom-navigation): codebehind creation (#7624)
does not show tabstrip
1 parent 2518655 commit 056d0bf

2 files changed

Lines changed: 17 additions & 9 deletions

File tree

‎tns-core-modules/ui/bottom-navigation/bottom-navigation.ios.ts‎

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
// Types
2+
import { TabStrip } from "../tab-navigation-base/tab-strip";
23
import { TabContentItem } from "../tab-navigation-base/tab-content-item";
34
import { TabStripItem } from "../tab-navigation-base/tab-strip-item";
45
import { TextTransform } from "../text-base";
56

67
//Requires
7-
import { TabNavigationBase, itemsProperty, selectedIndexProperty } from "../tab-navigation-base/tab-navigation-base";
8+
import { TabNavigationBase, itemsProperty, selectedIndexProperty, tabStripProperty } from "../tab-navigation-base/tab-navigation-base";
89
import { Font } from "../styling/font";
910
import { getTransformedText } from "../text-base";
1011
import { Frame } from "../frame";
@@ -137,7 +138,7 @@ class UITabBarControllerDelegateImpl extends NSObject implements UITabBarControl
137138
if (tabStripItems[position]) {
138139
tabStripItems[position]._emit(TabStripItem.selectEvent);
139140
}
140-
141+
141142
if (tabStripItems[prevPosition]) {
142143
tabStripItems[prevPosition]._emit(TabStripItem.unselectEvent);
143144
}
@@ -610,6 +611,15 @@ export class BottomNavigation extends TabNavigationBase {
610611
this.setViewControllers(value);
611612
selectedIndexProperty.coerce(this);
612613
}
614+
615+
[tabStripProperty.getDefault](): TabStrip {
616+
return null;
617+
}
618+
619+
[tabStripProperty.setNative](value: TabStrip) {
620+
this.setViewControllers(this.items);
621+
selectedIndexProperty.coerce(this);
622+
}
613623
}
614624

615625
interface TabStates {

‎tns-core-modules/ui/tab-navigation-base/tab-navigation-base/tab-navigation-base.ts‎

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ export class TabNavigationBase extends View implements TabNavigationBaseDefiniti
3737
this._addView(value);
3838
// selectedIndexProperty.coerce(this);
3939
} else if (name === "TabStrip") {
40+
// Setting tabStrip will trigger onTabStripChanged
4041
this.tabStrip = value;
41-
this._addView(value);
4242
}
4343
}
4444

@@ -94,14 +94,12 @@ export class TabNavigationBase extends View implements TabNavigationBaseDefiniti
9494
}
9595

9696
public onTabStripChanged(oldTabStrip: TabStrip, newTabStrip: TabStrip) {
97-
if (oldTabStrip && oldTabStrip.items && oldTabStrip.items.length) {
98-
oldTabStrip.items.forEach(item => this._removeView(item));
97+
if (oldTabStrip && oldTabStrip.parent) {
98+
this._removeView(oldTabStrip);
9999
}
100100

101-
if (newTabStrip && newTabStrip.items && newTabStrip.items.length) {
102-
newTabStrip.items.forEach(item => {
103-
this._addView(item);
104-
});
101+
if (newTabStrip) {
102+
this._addView(newTabStrip);
105103
}
106104
}
107105

0 commit comments

Comments
 (0)