我正在做一个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);
设置选项卡栏后