我想在选中时将标签栏项目更改为粉色,而不是默认的蓝色。
如何使用Xcode 6中的故事板编辑器完成此操作?
以下是我的当前设置,但无效果。蓝色背景有效,但粉色无效:
我想在选中时将标签栏项目更改为粉色,而不是默认的蓝色。
如何使用Xcode 6中的故事板编辑器完成此操作?
以下是我的当前设置,但无效果。蓝色背景有效,但粉色无效:
[[UITabBar appearance] setTintColor:[UIColor whiteColor]];
UITabBar.appearance().tintColor = UIColor( red: CGFloat(255/255.0), green: CGFloat(99/255.0), blue: CGFloat(95/255.0), alpha: CGFloat(1.0) )
输入所需颜色的RGB值
以下是适用于iOS 10的Swift 3解决方案:
首先,创建自己的选项卡控制器子类,并将其添加到故事板中的选项卡控制器。在viewDidLoad()
方法中,您可以自定义选项卡栏。需要说明的是,tabBar
的tintColor
属性代表所选项目的颜色,而不是未选项目的颜色!为了更改未选项目的颜色,建议循环遍历每个项目,并使用图像的原始颜色,以便它们不会自动呈现为灰色。
class CustomTabBarVC: UITabBarController
{
override func viewDidLoad()
{
super.viewDidLoad()
self.tabBar.tintColor = AppColor.normalRed
self.tabBar.barTintColor = .white
self.tabBar.isTranslucent = true
if let items = self.tabBar.items
{
for item in items
{
if let image = item.image
{
item.image = image.withRenderingMode( .alwaysOriginal )
}
}
}
}
}
UITabBarController
的子类,并在storyboard中将其替换为原有的控制器。
在你的子类的viewDidLoad
方法中调用以下代码:[self.tabBar setTintColor:[UIColor greenColor]];
self.tabBar.setSelectedImageTintColor = UIColor.greenColor
,不确定是否正确。 - DeekortintColor
而不是selectedImageTintColor
,顺便提一下,在iOS 8中selectedImageTintColor
已经被弃用了。 - chancyWu