2

我正在开发一个 Xamarin 表单项目。

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

在我设置的 Appdelegate.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 个选项卡都是绿色的,但“更多”部分中的选项卡始终是蓝色的。

请问有什么解决办法吗?我们也可以将彩色图像放入标签栏吗?

4

1 回答 1

1

首先,在 iOS 中,tabbar 最多只能显示 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);

设置标签栏后

于 2018-08-20T03:29:36.990 回答