我目前正在使用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
中概述的
答案 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)折旧,你只需要附加你的代码。