@@ -531,7 +531,15 @@ export class BottomNavigation extends TabNavigationBase {
531531 }
532532
533533 private getIconRenderingMode ( ) : UIImageRenderingMode {
534- return UIImageRenderingMode . AlwaysOriginal ;
534+ switch ( this . tabStrip && this . tabStrip . iosIconRenderingMode ) {
535+ case "alwaysOriginal" :
536+ return UIImageRenderingMode . AlwaysOriginal ;
537+ case "alwaysTemplate" :
538+ return UIImageRenderingMode . AlwaysTemplate ;
539+ case "automatic" :
540+ default :
541+ return UIImageRenderingMode . Automatic ;
542+ }
535543 }
536544
537545 private getIcon ( tabStripItem : TabStripItem ) : UIImage {
@@ -547,10 +555,12 @@ export class BottomNavigation extends TabNavigationBase {
547555 const color = target . style . color ;
548556 const iconTag = [ iconSource , font . fontStyle , font . fontWeight , font . fontSize , font . fontFamily , color ] . join ( ";" ) ;
549557
558+ let isFontIcon = false ;
550559 let image : UIImage = this . _iconsCache [ iconTag ] ;
551560 if ( ! image ) {
552561 let is = new ImageSource ;
553562 if ( isFontIconURI ( iconSource ) ) {
563+ isFontIcon = true ;
554564 const fontIconCode = iconSource . split ( "//" ) [ 1 ] ;
555565 is = fromFontIconCode ( fontIconCode , font , color ) ;
556566 } else {
@@ -564,7 +574,11 @@ export class BottomNavigation extends TabNavigationBase {
564574 image = this . getFixedSizeIcon ( image ) ;
565575 }
566576
567- const originalRenderedImage = image . imageWithRenderingMode ( this . getIconRenderingMode ( ) ) ;
577+ let renderingMode : UIImageRenderingMode = UIImageRenderingMode . AlwaysOriginal ;
578+ if ( ! isFontIcon ) {
579+ renderingMode = this . getIconRenderingMode ( ) ;
580+ }
581+ const originalRenderedImage = image . imageWithRenderingMode ( renderingMode ) ;
568582 this . _iconsCache [ iconTag ] = originalRenderedImage ;
569583 image = originalRenderedImage ;
570584 } else {
0 commit comments