标签栏图标未在ios7中显示选定状态

时间:2013-11-12 14:37:00

标签: objective-c ios6 ios7

我目前正在使用iOS 6作为最低目标在XCode 4.6中构建应用程序。据我所知,此应用程序应该可以在iOS7设备上运行,但是在更改选项卡时,所选图标会保留在我未选择的图标上。 iOS6设备工作正常

    self.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Home" image:[UIImage imageNamed:@"Tab_home.png"] tag:0];
    [[self tabBarItem] setFinishedSelectedImage:[UIImage imageNamed:@"Tab_homeselected"] withFinishedUnselectedImage:[UIImage imageNamed:@"Tab_home.png"]];

现在看一下Apple docs / Stackoverflow我看过一些帖子说这些方法在iOS7中已被弃用,这是公平的。但是,我没有使用XCode 5或iOS7构建。我正在为iOS6构建,据我所知Apple指出旧应用程序应该可以正常工作。

有谁知道我怎么能解决这个问题?我在issue with ios7 tabbar controller

尝试了这个建议

但由于未定义UIImageRenderingModeAlwaysOriginal,因此出现构建错误。是不是以某种方式使用respondsToSelector和performSelector来执行类似

的操作
 [[UITabBarItem alloc] initWithTitle:@"Music" image:musicImage selectedImage:musicImageSel];

UITabBar not showing selected item images in ios 7

中概述的

1 个答案:

答案 0 :(得分:0)

UIImageRenderingModeAlwaysOrigina的构建错误是因为它仅在iOS SDK 7.0中引入,因此如果您正在为iOS 6构建,则不能使用它,因为它未定义(不包含在SDK 6.x中),如果您仅构建对于iOS 6,它可以在iOS 7设备上运行,但您只能使用iOS 6 SDK(您正在使用的)中的代码。我不担心Apple docs / Stackoverflow表示事情已被折旧,如果你的编译器(Xcode)说它已经为你的部署目标(在你的情况下是6.x)折旧,你只需要附加你的代码。