TabBar图像未在iOS 7.1中显示

时间:2014-06-14 12:42:46

标签: ios iphone objective-c ios7 ios8

我正在开发一款将iOS 7.1作为其部署目标的应用。到目前为止一切正常,但有一个巨大的问题,标签栏图像没有显示。这很令人困惑,因为它们出现在iOS 8模拟器上运行时,我正在使用Xcode 6 beta 1。

我已经设置了两张图片。尺寸为60x60和70x60。所以尺寸似乎不是问题。我在Interface Builder中设置了图像。但是,当将标签栏图像记录到控制台时,它将返回nil。我已经尝试在代码中设置图像,并使用相同的方法将其记录到控制台,我现在有一个图像的内存地址,但它仍然没有显示。

在Google和stackoverflow上搜索答案时,我发现了这种方法:

        self.tabBarItem.image = [[UIImage imageNamed:@"IMAGE"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
self.tabBarItem.selectedImage = [[UIImage imageNamed:@"IMAGE"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
NSLog(@"%@", self.tabBarItem.image);

这显然适用于一些用户,但不适合我。我无法理解这一点,如果有人能帮助我,我会很高兴。

1 个答案:

答案 0 :(得分:0)

我对你正在做的事情有一种感觉,但它仍然不清楚。

您有一个标签栏,但您有一个显示标签栏项目的插座。

这不是你想要的方式。您可以为选项卡栏创建一个插座,然后使用以下内容添加自定义项目

UIImage *defaultImage = [UIImage imageNamed:@"ImageName"];
UIImage *selectedImage = [UIImage imageNamed:@"ImageName"];
UITabBarItem *itemZero = [[UITabBarItem alloc] initWithTitle:@"Item One" image:defaultImage selectedImage:selectedImage];

UITabBarItem *itemOne = [[UITabBarItem alloc] initWithTitle:@"Item Two" image:defaultImage selectedImage:selectedImage];

NSArray *items = @[itemZero,itemOne];
[self.tabBar setItems:items animated:animated];