更改 xamarin 窗体 iOS 中选项卡部分中选项卡"More"栏图标和文本的颜色



我正在做一个Xamarin表单项目。

我有一个带有 9 个选项卡的选项卡式页面。 4 个选项卡将在选项卡栏中显示描述和图标,并且添加了额外的选项卡"更多",其中包含其他选项卡的列表。

在"应用程序委托"中.cs我设置的文件

UITabbar.appearance.SelectedImageTintColor = UIColor.green;

这也是我的自定义选项卡渲染器:

public class CustomTabRenderer : TabbedRenderer
{
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
TabBar.TintColor = new UIColor(red: 0.55f, green: 0.76f, blue: 0.29f, alpha: 1.0f);
}
public override void ViewDidAppear(bool animated)
{
base.ViewDidAppear(animated);
if (TabBar.Items == null) return;
TabBar.SelectedImageTintColor = new UIColor(red: 0.55f, green: 0.76f, blue: 0.29f, alpha: 1.0f);
foreach (var uiTabBarItem in TabBar.Items)
{
var fontSize = new UITextAttributes(){ Font = UIFont.SystemFontOfSize(13)};
uiTabBarItem.SetTitleTextAttributes(fontSize, UIControlState.Normal);
} 
}
public override void ItemSelected(UITabBar tabbar, UITabBarItem item)
{
tabbar.SelectedImageTintColor = new UIColor(red: 0.55f, green: 0.76f, blue: 0.29f, alpha: 1.0f);
}

因此,条形栏上的所有 4 个选项卡都是绿色的,但"更多"部分中的选项卡始终是蓝色的。

请问有什么解决方案吗?我们还可以将彩色图像放入标签栏中吗?

首先,标签栏在iOS中最多只能显示5个项目。 如果要更改项目"更多"的颜色,请使用代码

UITabBarController  tabViewController = (UITabBarController)this.Window.RootViewController;
tabViewController.MoreNavigationController.TabBarController.TabBar.TintColor =new UIColor(red: 0.55f, green: 0.76f, blue: 0.29f, alpha: 1.0f);

设置选项卡栏后

最新更新