UINavigationBar.Appearance.BarTintColor也影响我的标签栏背景颜色

时间:2017-02-21 08:59:15

标签: ios swift xamarin xamarin.ios xamarin.forms

我正在Xamarin中编写一个ios应用程序,并希望实现类似于Facebook for ios的主题,顶部导航栏和标签栏具有不同的背景颜色。

我在AppDelegate.cs中有这个部分,它将顶部栏的主题设置为带有白色文本的漂亮绿色。

UINavigationBar.Appearance.BarTintColor = UIColor.FromRGB(6, 144, 70); //bar background
UINavigationBar.Appearance.SetTitleTextAttributes(new UITextAttributes()
{
     TextColor = UIColor.White
});
UINavigationBar.Appearance.TintColor = UIColor.FromRGB(250, 250, 250); //Tint color of button items

问题是这也改变了我页面底部的标签栏的颜色。目前我尝试用它来改变它:

var tint = UIColor.FromRGB(6, 144, 70);
UITabBar.Appearance.BackgroundColor = UIColor.White;
UITabBar.Appearance.TintColor = UIColor.FromRGB(250, 250, 250); 

但它似乎不起作用,标签的背景保持相同的绿色。

enter image description here

2 个答案:

答案 0 :(得分:0)

如果只想更改整个标签栏的背景颜色。 使用代码

UITabBar. Appearance.BarTintColor = UIColor.FromRGB(250, 250, 250); 

如果您只想更改所选项目的背景颜色。

使用代码

        CGSize size = new CGSize( UIScreen.MainScreen.Bounds.Size.Width/5.0,44 );

        //Background Color
        UITabBar.Appearance.SelectionIndicatorImage = imageWithColor(size);
        //Normal title Color
        UITabBarItem.Appearance.SetTitleTextAttributes(new UITextAttributes { TextColor = UIColor.Blue }, UIControlState.Normal);
        //Selected title Color
        UITabBarItem.Appearance.SetTitleTextAttributes(new UITextAttributes { TextColor = UIColor.FromRGB(6, 144, 70)}, UIControlState.Selected);

public UIImage imageWithColor(CGSize size)
    {
        CGRect rect = new CGRect(0, 0, size.Width, size.Height);
        UIGraphics.BeginImageContext(size);

        using (CGContext context = UIGraphics.GetCurrentContext())
        {
            context.SetFillColor(UIColor.White.CGColor);
            context.FillRect(rect);
        }

        UIImage image = UIGraphics.GetImageFromCurrentImageContext();
        UIGraphics.EndImageContext();

        return image;
    }

颜色是我自己的颜色,您可以根据自己的需要进行更改。

答案 1 :(得分:-1)

我将svg图像与SkiaSharp一起用于在自定义页脚栏中显示图标。您可以更改图标的颜色。 您可以参考https://www.pshul.com/2018/01/25/xamarin-forms-using-svg-images-with-skiasharp/

对于标签页:https://github.com/thrive-now/BottomNavigationBarXF