在UITabBar iOS中更改项目颜色

时间:2015-02-03 08:40:54

标签: ios objective-c uitabbarcontroller

我的应用有一个标签栏,如下所示:

enter image description here

标签栏必须为绿色,您可以看到标签栏中的项目图标有点难以看清。如何更改此标签栏中图标的颜色?我要使用标准的Tab Bar。 谢谢

4 个答案:

答案 0 :(得分:1)

使用图标,您可以使用以下代码

来使用图标图像
UITabBar *tabBar = tabBarController.tabBar;
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];

tabBarItem1.selectedImage = [[UIImage imageNamed:@"selectedImage.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ];
tabBarItem1.image = [[UIImage imageNamed:@"unselectedImage.png"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ];
tabBarItem1.imageInsets= UIEdgeInsetsMake(6, 0, -6, 0);

答案 1 :(得分:0)

试试这个

[[self tabBar] setSelectedImageTintColor:[UIColor greenColor]]; 

或者

[UITabBarItem.appearance setTitleTextAttributes:@{
    UITextAttributeTextColor : [UIColor greenColor] } forState:UIControlStateNormal];

[UITabBarItem.appearance setTitleTextAttributes:@{
    UITextAttributeTextColor : [UIColor purpleColor] }     forState:UIControlStateSelected];

或者这个

[[self tabBar] setTintColor:[UIColor redColor]];

或者

    [UITabBarItem.appearance setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor greenColor]} forState:UIControlStateNormal];    
   [UITabBarItem.appearance setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor purpleColor]} forState:UIControlStateSelected];

答案 2 :(得分:0)

试试这个

[[UITabBar appearance] setTintColor:[UIColor redColor]];
[[UITabBar appearance] setBarTintColor:[UIColor yellowColor]];

// set tabbar background image
[[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"tabbar_bg"]];
// remove shadow image of tabbar
[[UITabBar appearance] setShadowImage:[[UIImage alloc]init]];

答案 3 :(得分:0)

我建议,将UITabbar的背景更改为某些较暗的颜色,而不是绿色。只需将默认的灰色(Apple蒙版为灰色)保留为未选中的选项卡。使用下方剪切设置选定的标签蒙版颜色。

[[UITabBar外观] setTintColor:[UIColor redColor]];

这样可以避免最终用户混淆是选择了标签还是处于未选择状态。