0

我目前正在以 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 文档/Stackoverflow,我看到一些帖子说这些方法在 iOS7 中已被弃用,这很公平。但是我没有使用 XCode 5 或为 iOS7 构建。我正在为 iOS6 构建,据我所知,Apple 声明旧应用程序应该可以工作。

有谁知道我该如何解决这个问题?我已经尝试过这里的建议问题与 ios7 标签栏控制器

但由于未定义 UIImageRenderingModeAlwaysOriginal ,因此出现构建错误。是否以某种方式使用 respondsToSelector 和 performSelector 来做类似的事情

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

UITabBar 所述,未在 ios 7 中显示所选项目图像

4

1 回答 1

0

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

于 2013-12-30T05:30:50.100 回答