更改标签栏中活动整个部分的颜色 - iOS 7

Posted

技术标签:

【中文标题】更改标签栏中活动整个部分的颜色 - iOS 7【英文标题】:Changing color of the active whole section in tab bar - iOS 7 【发布时间】:2014-08-17 17:58:22 【问题描述】:

(希望)快速提问!

我想做一个自定义标签栏设计。现在看起来像这样:

我所做的是:

将背景颜色更改为深灰色 将色调颜色更改为蓝色。

但我希望活动按钮的背景是另一种颜色,如下所示:

所以:

深灰色背景 白色图标(活动和非活动) 显示状态的选定按钮的背景(本例中为蓝色)

我怎样才能做到这一点? 谢谢。

【问题讨论】:

【参考方案1】:

实现此目的的一种方法是执行以下步骤:

    设置整个标签栏的背景颜色:

    tabBar.backgroundColor = [UIColor grayColor];
    

    将标签图标图像设置为您想要的颜色(白色)。然后像这样设置每个选项卡:

    UIImage *tabImage = [UIImage imageNamed:@"my_image"];
    // make sure the original color of the image is used, rather than templating it
    tabImage = [tabImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    myViewController.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"title" image:tabImage  tag:0];
    

    将标签栏的tintColor也设置为白色,这样选定的标签就不会改变颜色:

    tabBar.tintColor = [UIColor whiteColor];
    

    设置selectionIndicatorImage 以在所选选项卡上获得蓝色背景。您需要以编程方式或通过导入来创建图像。

【讨论】:

我将第 2 步放在我的 viewDidLoad 中,用于其中一个选项卡上的视图控制器,但没有任何变化...否则我应该在哪里实施第 2 步?

以上是关于更改标签栏中活动整个部分的颜色 - iOS 7的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 iOS 7 中未选择的标签栏项目的颜色?

如何更改标签栏中未选中项目的颜色?

幻灯片处于活动状态时更改标签的颜色

在 iOS 7 上更改标签栏色调颜色

如何在 iOS 7.1 中更改 TabBar 上的图像和标签颜色?

在 iOS 中使用动画更改标签背景颜色