4

我以编程方式创建了一个标签栏。

我们可以更改标签栏项目标题的颜色吗?默认为白色,我试图将其设为黑色。

就像是

 tabbaritem.text.textcolor=[UIcolor Blackcolor];

谢谢

4

3 回答 3

31

在 iOS5 中,您使用外观代理来更改标题颜色:

对于特定的标签栏项目:

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                         [UIFont fontWithName:@"AmericanTypewriter" size:20.0f], UITextAttributeFont,
                                         [UIColor yellowColor], UITextAttributeTextColor,
                                         [UIColor redColor], UITextAttributeTextShadowColor,
                                         [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)], UITextAttributeTextShadowOffset,
                                         nil] forState:UIControlStateNormal];

或替换self.tabBarItem[UITabBarItem appearance]更改所有标签栏项目。如果您想全部更改,我建议您将代码放在 appdelegate 上didFinishLaunchingWithOptions:

于 2012-07-05T12:10:38.667 回答
2

只是别的...

要在 iOS 5 中设置标准外观:

在您的 AppDelegate.m 中执行以下操作:

[[UITabBar appearance] setTintColor:myColor]; //or whatever you want to change

为您节省大量工作。

于 2012-07-05T12:15:44.593 回答
0

也许这个更新的代码可以帮助某人:

[UITabBarItem.appearance setTitleTextAttributes:@{
                                                  NSForegroundColorAttributeName : [UIColor lightGrayColor] } forState:UIControlStateNormal];

[UITabBarItem.appearance setTitleTextAttributes:@{
                                                  NSForegroundColorAttributeName : [UIColor whiteColor] }     forState:UIControlStateSelected];
于 2015-11-02T06:20:43.947 回答