标签栏项目图像不显示 - xcode 6

时间:2015-06-03 11:32:45

标签: ios objective-c uiimage xcode6 uitabbaritem

这开始让我感到沮丧但是当我尝试将我的标签栏项目图像从那些默认正方形或圆形图标更改为我自定义制作的图像时,我得到的是我的图像的阴影/轮廓..它没有实际上显示我的形象。我不认为图像大小是问题,但我在属性检查器上更改了图像。

你以前见过这个问题吗?

3 个答案:

答案 0 :(得分:6)

TabBar图像会自动呈现为模板图像(Apple Docs)。如果您想避免此行为,可以执行以下操作:

UIImage *img = //YOUR IMAGE YOU WANT TO SET
img = [img imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

现在使用它来创建tabbar项目。

如果您正在使用资产目录,您还可以在资产目录中设置渲染模式,以便能够在故事板中使用它(“渲染为”选项)

asset catalogue

答案 1 :(得分:1)

UITabBar *tabBar = self.tabBar;
UITabBarItem *targetTabBarItem = [[tabbar items] objectAtIndex:0];
UIImage *selectedIcon = [UIImage imageNamed:@"name-of-selected-image.png"];
[targetTabBarItem setSelectedImage:selectedIcon];

尝试使用上面的代码为所选的&未选中的标签栏项目。

答案 2 :(得分:0)

您可以在方法

的AppDelegate.m中编写以下代码

代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
   [[[self.tabBarController.viewControllers objectAtIndex:0] tabBarItem]setFinishedSelectedImage:[UIImage imageNamed:@"firstIconActive.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"firstIconInactive.png"]];

   [[[self.tabBarController.viewControllers objectAtIndex:1] tabBarItem]setFinishedSelectedImage:[UIImage imageNamed:@"secondIconActive.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"secondIconInactive.png"]]; 
}