我想在选中时将标签栏项目更改为粉红色,而不是默认的蓝色。
如何使用Xcode 6中的storyboard编辑器完成此操作?
以下是我当前的设置无法正常工作,蓝色背景有效,但粉红色不起作用:
答案 0 :(得分:371)
从StoryBoard添加名为“tintColor”的运行时颜色属性。这是有效的(用于Xcode 8及以上)。
如果您想要未选择的颜色..您也可以添加unselectedItemTintColor
。
答案 1 :(得分:149)
这个优雅的解决方案适用于 SWIFT 3.0 和 SWIFT 4.0 :
在故事板上:
答案 2 :(得分:58)
在Swift中,使用xcode 7(及更高版本),您可以将以下内容添加到AppDelegate.swift文件中:
UITabBar.appearance().tintColor = UIColor(red: 255/255.0, green: 255/255.0, blue: 255/255.0, alpha: 1.0)
这就是完整方法的样子:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// I added this line
UITabBar.appearance().tintColor = UIColor(red: 255/255.0, green: 255/255.0, blue: 255/255.0, alpha: 1.0)
return true
}
在上面的示例中,我的项目将为白色。 " /255.0"是需要的,因为它期望从0到1的值。对于白色,我可能刚刚使用1.但对于其他颜色,你可能会使用RGB值。
答案 3 :(得分:42)
答案 4 :(得分:15)
斯威夫特3 | Xcode 10
如果您想使所有标签栏项目颜色相同(已选择和未选中)...
第1步
确保将图片资源设置为渲染为=模板图像。这允许他们继承颜色。
第2步
使用情节提要编辑器更改标签栏设置,如下所示:
第3步
步骤1& 2将更改所选图标的颜色。如果您仍想更改未选定项目的颜色,则需要在代码中执行此操作。我还没有通过故事板编辑器找到方法。
创建自定义标签栏控制器类...
// TabBarController.swift
class TabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
// make unselected icons white
self.tabBar.unselectedItemTintColor = UIColor.white
}
}
...并将自定义类指定给标签栏场景控制器。
如果您想通过故事板编辑器弄清楚如何更改未选择的图标颜色,请告诉我。谢谢!
答案 5 :(得分:9)
将此代码放在要更改颜色的视图控制器的viewDidLoad中
[[UITabBar appearance] setSelectedImageTintColor:[UIColor whiteColor]];
答案 6 :(得分:7)
答案 7 :(得分:7)
XCode 8.2,iOS 10,Swift 3:现在unselectedItemTintColor
有一个tabBar
属性:
self.tabBar.unselectedItemTintColor = UIColor(red: 0/255.0, green: 200/255.0, blue: 0/255.0, alpha: 1.0)
答案 8 :(得分:6)
您可以通过故事板更改颜色UITabBarItem,但如果您想通过代码更改颜色,则非常简单:
//使用此选项来更改所选栏的颜色
[[UITabBar appearance] setTintColor:[UIColor blueColor]];
//这用于更改未选中的栏(iOS 10)
[[UITabBar appearance] setUnselectedItemTintColor:[UIColor yellowColor]];
//此行用于更改所有标签栏的颜色
[[UITabBar appearance] setBarTintColor:[UIColor whiteColor]];
答案 9 :(得分:5)
不知怎的,我们无法单独使用故事板更改Tab Bar选择的项目Tint颜色,因此我在ViewDidLoad中添加了以下代码,希望这会有所帮助。
[[UITabBar appearance] setTintColor:[UIColor whiteColor]];
答案 10 :(得分:5)
在您的app delegate -did_finish_launching_with_options函数中添加此代码
UITabBar.appearance().tintColor = UIColor( red: CGFloat(255/255.0), green: CGFloat(99/255.0), blue: CGFloat(95/255.0), alpha: CGFloat(1.0) )
放置所需颜色的RGB
答案 11 :(得分:4)
这是Swift 3中适用于iOS 10的解决方案:
首先,您创建自己的标签栏控制器子类并将其添加到故事板中的标签控制器。在viewDidLoad()
方法中,您可以自定义标签栏。这里应该说明tintColor
的{{1}}属性代表所选项目的颜色而不是未选择项目的颜色!为了更改未选项的颜色,我建议循环浏览每个项目并使用图像的原始颜色,这样它们就不会自动呈现为灰色。
tabBar
此方法的唯一缺点是您的商品图片必须已经具有您想要的所需颜色。
答案 12 :(得分:3)
最好的方法是在情节提要中更改Image Tint
答案 13 :(得分:2)
您可以继承UITabBarController
,并在故事板中替换它。
在你的viewDidLoad
子类实现中,请调用:
[self.tabBar setTintColor:[UIColor greenColor]];
答案 14 :(得分:0)