UITabBarItem具有自定义标题颜色和图像

时间:2011-05-18 22:18:26

标签: iphone xcode view uitabbar

我试图在xcode,ios中自定义我的TabBar,但是我发现ppl说这不可自定义!另外,我确实找到了某种解决方案,但它们都没有为我工作。

我想要更改UITabBarItem标题(文本)颜色,还要更改其中的2个图像,正常图像和所选图像!

我试图在我的UITabBar子视图中迭代,看看我是否找到了什么,但是没有成功:

for (UIView *view in [self.tabBarController tabBar].subviews) 
{
    NSLog(@"Class: %@",[view class]);

}

这个输出是:

2011-05-18 18:15:24.031 EventApp[52235:207] Class: UIImageView
2011-05-18 18:15:24.032 EventApp[52235:207] Class: UITabBarButton
2011-05-18 18:15:24.032 EventApp[52235:207] Class: UITabBarButton
2011-05-18 18:15:24.033 EventApp[52235:207] Class: UITabBarButton
2011-05-18 18:15:24.033 EventApp[52235:207] Class: UITabBarButton
2011-05-18 18:15:24.034 EventApp[52235:207] Class: UITabBarButton

我无法导入UITabBarButton obj来使用它!

一些解决方案?!我也张贴了一些我看过的链接,但是没有用!

Custom UITabBarItem Image/Title on iPhone

changing text color of uitabbaritem

修改 我想做的是像下面这样的想法: enter image description here

3 个答案:

答案 0 :(得分:9)

在iOS 5.0及更高版本中,您可以Customize UITabBar's Appearance通过更改色调颜色,背景图像和选择指示符,使它们看起来像您喜欢的样式。

您还可以通过调用setFinishedSelectedImage:withFinishedUnselectedImage:方法自定义单个UITabBarItems,并将已选择和未选择的图像作为参数。

或者,修改UITabBar的appearance proxy可以更改其所有实例的方面。

答案 1 :(得分:7)

我是其中一个人说它确实不起作用。您必须在Custom UIViewController中重新实现整个功能,该UIVabController充当UITabBar替代品。

就像Twitter for iPhone或Tweetbot一样。

enter image description here

答案 2 :(得分:2)

完全无法自定义。您要么使用Apple提供给您的任何东西(掩盖形状和标题的图像),要么自己动手。

对我有用的一种方法是对标签栏进行子类化。使用您自己的子视图使标签栏看起来像您想要的那样。例如:使用背景图像并使用每个tabBarItems的按钮动态覆盖背景图像。

通过这种方式,您仍然可以在Interface Builder中配置标签栏,并且可以免费切换标签栏内容。同时标签栏将以您想要的方式显示。