diff --git a/e2e/ui-tests-app/app/bottom-navigation/binding-page.xml b/e2e/ui-tests-app/app/bottom-navigation/binding-page.xml
index c13ec26c9..20aa4a2da 100644
--- a/e2e/ui-tests-app/app/bottom-navigation/binding-page.xml
+++ b/e2e/ui-tests-app/app/bottom-navigation/binding-page.xml
@@ -11,7 +11,7 @@
-
+
diff --git a/e2e/ui-tests-app/app/bottom-navigation/bottom-navigation-page.xml b/e2e/ui-tests-app/app/bottom-navigation/bottom-navigation-page.xml
index 66266e701..00fe8dae7 100644
--- a/e2e/ui-tests-app/app/bottom-navigation/bottom-navigation-page.xml
+++ b/e2e/ui-tests-app/app/bottom-navigation/bottom-navigation-page.xml
@@ -3,23 +3,8 @@
-
-
-
-
-
+
@@ -71,26 +56,4 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/e2e/ui-tests-app/app/bottom-navigation/fancy-fonts-page.xml b/e2e/ui-tests-app/app/bottom-navigation/fancy-fonts-page.xml
index 004de8346..7b1657fb9 100644
--- a/e2e/ui-tests-app/app/bottom-navigation/fancy-fonts-page.xml
+++ b/e2e/ui-tests-app/app/bottom-navigation/fancy-fonts-page.xml
@@ -2,7 +2,7 @@
-
+
diff --git a/e2e/ui-tests-app/app/bottom-navigation/icon-change-page.xml b/e2e/ui-tests-app/app/bottom-navigation/icon-change-page.xml
index 1305f2a06..23442767f 100644
--- a/e2e/ui-tests-app/app/bottom-navigation/icon-change-page.xml
+++ b/e2e/ui-tests-app/app/bottom-navigation/icon-change-page.xml
@@ -3,7 +3,7 @@
-
+
diff --git a/tns-core-modules/ui/bottom-navigation/bottom-navigation.ios.ts b/tns-core-modules/ui/bottom-navigation/bottom-navigation.ios.ts
index 7ea8e43dd..2d2966105 100644
--- a/tns-core-modules/ui/bottom-navigation/bottom-navigation.ios.ts
+++ b/tns-core-modules/ui/bottom-navigation/bottom-navigation.ios.ts
@@ -531,7 +531,15 @@ export class BottomNavigation extends TabNavigationBase {
}
private getIconRenderingMode(): UIImageRenderingMode {
- return UIImageRenderingMode.AlwaysOriginal;
+ switch (this.tabStrip && this.tabStrip.iosIconRenderingMode) {
+ case "alwaysOriginal":
+ return UIImageRenderingMode.AlwaysOriginal;
+ case "alwaysTemplate":
+ return UIImageRenderingMode.AlwaysTemplate;
+ case "automatic":
+ default:
+ return UIImageRenderingMode.Automatic;
+ }
}
private getIcon(tabStripItem: TabStripItem): UIImage {
@@ -547,10 +555,12 @@ export class BottomNavigation extends TabNavigationBase {
const color = target.style.color;
const iconTag = [iconSource, font.fontStyle, font.fontWeight, font.fontSize, font.fontFamily, color].join(";");
+ let isFontIcon = false;
let image: UIImage = this._iconsCache[iconTag];
if (!image) {
let is = new ImageSource;
if (isFontIconURI(iconSource)) {
+ isFontIcon = true;
const fontIconCode = iconSource.split("//")[1];
is = fromFontIconCode(fontIconCode, font, color);
} else {
@@ -564,7 +574,11 @@ export class BottomNavigation extends TabNavigationBase {
image = this.getFixedSizeIcon(image);
}
- const originalRenderedImage = image.imageWithRenderingMode(this.getIconRenderingMode());
+ let renderingMode: UIImageRenderingMode = UIImageRenderingMode.AlwaysOriginal;
+ if (!isFontIcon) {
+ renderingMode = this.getIconRenderingMode();
+ }
+ const originalRenderedImage = image.imageWithRenderingMode(renderingMode);
this._iconsCache[iconTag] = originalRenderedImage;
image = originalRenderedImage;
} else {
diff --git a/tns-core-modules/ui/tabs/tabs.ios.ts b/tns-core-modules/ui/tabs/tabs.ios.ts
index 4a664cb1a..1b6cb35b1 100644
--- a/tns-core-modules/ui/tabs/tabs.ios.ts
+++ b/tns-core-modules/ui/tabs/tabs.ios.ts
@@ -885,6 +885,7 @@ export class Tabs extends TabsBase {
}
private getIconRenderingMode(): UIImageRenderingMode {
+ // MDCTabBar doesn't work with rendering mode AlwaysTemplate
return UIImageRenderingMode.AlwaysOriginal;
}