iOS TabBarItems got set UIViewControler on their naitveView, now they have dedicated _iosViewController

This commit is contained in:
Panayot Cankov
2017-03-14 09:37:06 +02:00
parent 629eb6e683
commit 6cae3cfbbd

View File

@ -121,9 +121,10 @@ function updateItemTitlePosition(tabBarItem: UITabBarItem): void {
export class TabViewItem extends TabViewItemBase { export class TabViewItem extends TabViewItemBase {
_iosViewController: UIViewController;
public _update() { public _update() {
const parent = <TabView>this.parent; const parent = <TabView>this.parent;
let controller = <UIViewController>this.nativeView; let controller = this._iosViewController;
if (parent && controller) { if (parent && controller) {
const icon = parent._getIcon(this.iconSource); const icon = parent._getIcon(this.iconSource);
const index = parent.items.indexOf(this); const index = parent.items.indexOf(this);
@ -250,7 +251,7 @@ export class TabView extends TabViewBase {
newController.view.addSubview(item.view.ios); newController.view.addSubview(item.view.ios);
} }
item.nativeView = newController; item._iosViewController = newController;
const icon = this._getIcon(item.iconSource); const icon = this._getIcon(item.iconSource);
const tabBarItem = UITabBarItem.alloc().initWithTitleImageTag((item.title || ""), icon, i); const tabBarItem = UITabBarItem.alloc().initWithTitleImageTag((item.title || ""), icon, i);
@ -286,7 +287,7 @@ export class TabView extends TabViewBase {
if (!iconSource) { if (!iconSource) {
return null; return null;
} }
let image: UIImage = this._iconsCache[iconSource]; let image: UIImage = this._iconsCache[iconSource];
if (!image) { if (!image) {
const is = fromFileOrResource(iconSource); const is = fromFileOrResource(iconSource);
@ -390,10 +391,10 @@ export class TabView extends TabViewBase {
} }
} }
get [itemsProperty.native](): TabViewItemBase[] { get [itemsProperty.native](): TabViewItem[] {
return null; return null;
} }
set [itemsProperty.native](value: TabViewItemBase[]) { set [itemsProperty.native](value: TabViewItem[]) {
this.setViewControllers(value); this.setViewControllers(value);
} }
@ -401,7 +402,6 @@ export class TabView extends TabViewBase {
return null; return null;
} }
set [tabTextColorProperty.native](value: UIColor | Color) { set [tabTextColorProperty.native](value: UIColor | Color) {
this._ios.tabBar.tintColor = value instanceof Color ? value.ios : value;
this._updateIOSTabBarColorsAndFonts(); this._updateIOSTabBarColorsAndFonts();
} }
@ -416,6 +416,7 @@ export class TabView extends TabViewBase {
return this._ios.tabBar.tintColor; return this._ios.tabBar.tintColor;
} }
set [selectedTabTextColorProperty.native](value: UIColor) { set [selectedTabTextColorProperty.native](value: UIColor) {
this._ios.tabBar.tintColor = value instanceof Color ? value.ios : value;
this._updateIOSTabBarColorsAndFonts(); this._updateIOSTabBarColorsAndFonts();
} }