【发布时间】:2013-10-29 12:33:40
【问题描述】:
我正在开发一个需要与 iOS 7 兼容的 iOS 6 应用程序。我使用 UIAppearance 来设置应用程序某些组件的色调颜色,特别是 UINavigationBar 及其条形按钮项目。
问题是当我在 iOS 7 设备上部署应用程序时,栏按钮项目的色调颜色被修改为导航栏的颜色。我了解 iOS 7 的 UIAppearance 在此 (UINavigationBar) 中引入了一些修改,如果我想在 iOS 7 上正确使用它,我应该设置 barTintColor 属性,但是因为我的意思是保持我的应用程序为 iOS 6 和我在 Xcode 4.6.3 中使用 SDK 6 编译它,我无法使用该属性。
我已经尝试了很多东西,其中一些在某些情况下工作,但我仍然无法让它在整个应用程序中工作。有什么想法吗?
这是我遇到的问题的屏幕截图
编辑 1
为了给应用设置样式,我在 AppDelegate 中添加了以下代码
[[UINavigationBar appearance] setTintColor:[UIColor colorWithRed:245.0/255.0 green:245.0/255.0 blue:245.0/255.0 alpha:1.0]];
[[UIBarButtonItem appearance] setTintColor:[UIColor colorWithRed:230.0/255.0 green:0.0/255.0 blue:0.0/255.0 alpha:1.0]];
编辑 2
我尝试使用 SDK 7 和部署目标 5 从 Xcode 5 部署应用程序,但是当我将其部署在 iOS 7 设备上时,它会将我的 UI 更改为 iOS 7。这不是识别什么时候的问题该应用程序在 iOS 7 中运行,因为我不希望该应用程序看起来像 iOS 7,我希望它看起来与它在 iOS 6 中的外观相同
提前致谢!
【问题讨论】:
-
你用什么代码?
-
您不希望您的应用看起来像 iOS 7 上的 iOS 6 应用。您的应用会显得陈旧且写得不好;您的用户会讨厌使用您的应用程序,并会给您留下不好的评价。更好地把工作放在两个版本的 UI 上。
-
谢谢西蒙!我知道这一点,但是我现在的情况要求我将其作为 iOS 6 应用程序运行
-
@mikywan 我也遇到了同样的问题,你最后找到解决方案了吗?谢谢
-
@laucel 显然这是错误。解决办法是: 1)直接设置UIBarButtonItem的tintColor,但在viewDidLoad之后。 (我使用 viewDidAppear)。 2) 开始将您的应用与 iOS 7.0 SDK 和 Xcode 5.0.x 链接。未来某个时候,与 iOS 7 的链接将成为 App Store 的一项要求。
标签: ios objective-c ios6 ios7 uiappearance