标签栏控制器中标签栏项目的不同颜色
Posted
技术标签:
【中文标题】标签栏控制器中标签栏项目的不同颜色【英文标题】:Different colors for TabBar items in Tab Bar Controller 【发布时间】:2017-03-24 14:24:39 【问题描述】:我有几个标签的标签栏控制器。
所有选项卡项的图像和文本都应具有相同的未选择颜色。
所有选项卡项都应具有不同的图像选择颜色和 文本。
我已准备好创建具有选定和非选定项目所需颜色的图像。而且我知道如何从 AppDelegate 更改所有选项卡的颜色
UITabBar.appearance().tintColor = UIColorFromRGB(rgbValue: MY_COLOR, aplhaValue: 1.0)
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColorFromRGB(rgbValue: MY_COLOR, aplhaValue: 1.0)], for: UIControlState.selected)
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.white], for: UIControlState.normal)
但我想为不同的物品制作不同的颜色。
【问题讨论】:
结帐this post。 您可以直接设置图像的色调颜色,然后根据状态为其分配所需的色调。UIIMAGE.tint(with: UIColor)
【参考方案1】:
在你的 Storyboard 中选择你的 TabBarController 并给它一个自定义类:TabBarController
在这个例子中:
然后创建自定义的 TabBarController 文件:
// Copyright © 2017 Erick Vavretchek. All rights reserved.
import UIKit
class TabBarController: UITabBarController
enum tabBarMenu: Int
case home
case list
case settings
// MARK: UITabBarController
override func viewDidLoad()
super.viewDidLoad()
guard let tabBarMenuItem = tabBarMenu(rawValue: 0) else return
setTintColor(forMenuItem: tabBarMenuItem)
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem)
guard
let menuItemSelected = tabBar.items?.index(of: item),
let tabBarMenuItem = tabBarMenu(rawValue: menuItemSelected)
else return
setTintColor(forMenuItem: tabBarMenuItem)
// MARK: Private
private func setTintColor(forMenuItem tabBarMenuItem: tabBarMenu)
switch tabBarMenuItem
case .home:
viewControllers?[tabBarMenuItem.rawValue].tabBarController?.tabBar.tintColor = UIColor.green
case .list:
viewControllers?[tabBarMenuItem.rawValue].tabBarController?.tabBar.tintColor = UIColor.red
case .settings:
viewControllers?[tabBarMenuItem.rawValue].tabBarController?.tabBar.tintColor = UIColor.red
在 Assets.xcassets 文件夹中选择用于 TabBarItem 的每个图像并将它们设置为 Render As: Template Image
也很重要。这就是您可以简单地将其 tintColor 更改为您喜欢的任何内容的方法:
【讨论】:
以上是关于标签栏控制器中标签栏项目的不同颜色的主要内容,如果未能解决你的问题,请参考以下文章