UITabBarItem图像为蓝色且未更改

时间:2013-12-03 04:45:39

标签: ios objective-c xcode uitabbar uitabbaritem

嗯使用我自己的TabBarControllerElWafyatTabBarController基本上它继承自UITabBarController

ElWafyatTabBarController.m -> viewDidLoad

我已经创建了一些ViewControllers,然后我使用rootViewController创建了UINavigationController的{​​{1}}到我之前的步骤中。{/ p>

然后我创建了viewControllers并为每个导航控制器设置了图像和标题,每个导航控制器都有UITabBarItem到我在第一步中创建的viewControllers,并设置{{1}对于这些rootViewController的{​​{1}}。{/ p>

我发现问题甚至是tabBarItem的标题显示正确,但图像以蓝色显示。

仅供参考:我创建了两个名为test.png和test@2x.png的图片,尺寸为32x32和64x64 我还有这些问题, 那么任何人都可以提供帮助吗?

这是我的代码:

ElWafyatTabBarController - > viewDidLoad中

navigationController

这些输出:

enter image description here

4 个答案:

答案 0 :(得分:11)

如果要查看图像,则需要将图像的渲染模式设置为UIImageRenderingModeAlwaysOriginal,否则图像将显示为模板图像。您应该阅读标签栏上的文档,它有以下声明:

  

标签栏项目图标

     

标签栏中的每个项目都可以具有自定义选定图像并且未选中   图片。初始化选项卡栏项时,可以指定这些图像   使用initWithTitle:image:selectedImage:方法。请注意一个标签   条形图像将自动呈现为模板图像   在标签栏中,除非您明确将其渲染模式设置为   UIImageRenderingModeAlwaysOriginal。有关更多信息,请参阅模板   图像。

答案 1 :(得分:3)

转到Assets.xcassets > Click on you image > Attribute Inspector > Render As > Original Image

original image

答案 2 :(得分:1)

蓝色是iOS 7中UITabbar的默认色调颜色。您可以通过设置将其更改为您喜欢的任何颜色:

myTabbar.tintColor = [UIColor greenColor]; //Put the color of your choice

答案 3 :(得分:0)

如果你有UITabBar:

 UITabBar *tabBar = _tabBarController.tabBar;

 UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];

设置 tabBarItem1 的图像,如下所示:

 [tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"Selected_your_image"] withFinishedUnselectedImage:[UIImage imageNamed:@"UNSelected_your_image"]];

为UITabBar的每个UITabBarItem设置selected和unselectedimage。