更改选项卡项的非活动颜色

时间:2016-01-08 07:09:40

标签: ios iphone swift uiviewcontroller

我可以使用this answer

更改标签栏的活动颜色

chage color inactive tab bar

我的问题是我不知道如何更改像朋友和搜索标签这样的非活动状态。我想改变它像红色的东西。 我已经搜索了这么多,并决定问,因为我找不到任何解决方案。请使用swift,因为我是ios开发的新手。请加注我。

5 个答案:

答案 0 :(得分:4)

我会发布我所做的事情以获得我想要达到的目标。这也可能有助于将来像我这样的大人物。

首先,我为每个图标创建了两个图像

主页图标,朋友图标和搜索图标均具有白色和绿色 inactive tabbar icon

然后点击 Assets.xcassets 文件添加 New Image Set New Image Set

确保绿色图标 Render As 设置为 Original Image ,因为这将是我们的非活动颜色图标标签栏。这是示例属性的示例屏幕截图 Render As Original Image

通过设置Home Item选项卡栏图标。请注意

System Item => Custom
Selected Image => Home_w//Name of the home white icon
Title => Home
Image=> Home_g//Name of the Inactive tabbar item in my case are sets to green icons

enter image description here

最终覆盖 AppDelegate.swift 中标签栏项目的标题颜色。请注意我已将UIColor_Hex_Swift用于十六进制UIColor。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.

    let color:UIColor =  UIColor(rgba: "#026a34") //UIColor(hexString:"026a34")

    UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: color], forState: .Normal)

    // then if StateSelected should be different, you should add this code
    UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.whiteColor()], forState: .Selected)

    return true
}

输出(白色是选定的图像,绿色是非活动图像)

Home active Friends active search active

答案 1 :(得分:2)

从iOS 10开始,您可以使用它来更改标签项颜色(您必须将图像渲染为模板):

    UITabBar.appearance().tintColor = .blue
    UITabBar.appearance().unselectedItemTintColor = .gray

答案 2 :(得分:0)

您可以直接在资产目录中设置标签栏图像的属性Render As。在那里,您可以选择将属性设置为DefaultOriginal ImageTemplate Image

enter image description here

答案 3 :(得分:0)

试试这个

 self.tabBar.tintColor=[UIColor whiteColor];

答案 4 :(得分:0)

可能this是您希望搜索具体解决方案的最佳链接。