仅更改所选项目的TabBar文本颜色(Xamarin.Forms iOS)

Mat*_*ard 1 c# xaml ios xamarin.forms

我正在编写一个有TabBar的应用程序.在iOS上,我想将所选项目的突出显示更改为绿色而不是此默认蓝色.

蓝色标签

我可以在创建TabbedPage时使用这行代码: BarTextColor = Color.FromHex("#27b286");

这会更改我想要的图标颜色,但它也会更改所有选项卡上的文本颜色,而不仅仅是所选选项卡(我希望选定的选项卡文本为绿色).

绿色标签

TabPage代码是:

 NavigationPage.SetHasNavigationBar(this, false);

        if(Device.RuntimePlatform == "iOS")
        {
            BarBackgroundColor = Color.White;
            //BarTextColor = Color.FromHex("#27b286");

            Children.Add(new CoinsPage() { Title = "Coins", Icon = "coins.png" });
            Children.Add(new PortfolioPage() { Title = "Portfolio", Icon = "portfolio.png" });
            Children.Add(new TrendingPage() { Title = "Trending", Icon = "trending.png" });
            Children.Add(new SettingsPage() { Title = "Settings", Icon = "settings.png" });
        }
Run Code Online (Sandbox Code Playgroud)

如何才能使选定的选项卡文本颜色为绿色?

Ger*_*uis 5

不确定这是否打算像那样工作.我认为这是有道理的,因为我们设置文本颜色而不是选择的颜色或类似的东西.

所以,现在似乎没有办法从纯粹的表单中做到这一点.

要将其设置为iOS,请转到该AppDelegate.cs文件,然后在您的FinishedLaunching方法中添加以下行:

UITabBar.Appearance.TintColor = UIColor.Red;

当然,用你自己的颜色替换颜色.它现在应该只是被选中的颜色项目.

  • 完美,有效,谢谢! (2认同)