0

请看一下截图:

  • 1:来自iOS Store,(相同的应用程序代码,在iOS7之前)
  • 2:从 xCode5 编译,(相同的应用程序代码。)

从 iOS 商店,(相同的应用程序代码,在 iOS7 之前)

从 xCode5 编译,(相同的应用程序代码。)

谁能告诉我如何摆脱这种差异?为什么 appstore 应用程序显示旧的光泽饰面和从 xcode 5 构建的应用程序不显示?

无论如何要从 xcode 恢复到旧的光泽完成 UI?

请帮忙。谢谢

4

3 回答 3

2

发生这种情况是因为您在 appStore 上的应用程序是在 iOS 6 SDK 中编译的,因此导航栏、TabBar 和其他默认 UI 元素看起来像 iOS 6。当您在 xCode 5 中编译相同的代码时,默认 UI 元素看起来像 iOS 7,因为 xCode 5有 iOS 7 SDK。

如果您在 iOS 6 模拟器或 iOS 6 设备中运行您的应用程序,您将获得那个旧 UI。但是,如果您在 iOS 7 设备或 iOS 7 模拟器上运行您的应用程序,则会应用新的 UI。

要恢复旧 UI,您必须使用 xCode 4.6,或者您必须制作自定义 UI 元素而不是使用默认 UI 元素。

但是如果您使用的是 xCode 4.6 并且不支持 iOS 7,那么苹果可能会拒绝您的应用。

结论:您必须使用自定义 UI 元素来获得旧式 UI。或者在 iOS 7 中,它看起来像 iOS 7 设计一样简单扁平。

于 2013-10-21T06:30:27.543 回答
2

不能将样式设置回来。旧样式在 iOS 7 中不再可用。您需要更改给定的系统主题,使其看起来像旧的。

您可以为UINavigationBar. 图像必须看起来像带有光泽白色的黑色矩形

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"controllerBackground"] forBarMetrics:UIBarMetricsDefault];

相同的UISearchBar

searchBar.backgroundImage = [UIImage imageNamed:@"searchBackground.png"];

或者UITabBar

tabBar backgroundImage = [UIImage imageNamed:@"tabbarBackground.png"]];
于 2013-10-21T06:31:33.807 回答
0

在 xCode 4.5 iPhone 架构与旧的 xCode 版本不同。因此,您的 App Store 构建使用旧的 xCode 版本。所以它看起来像iOS6 UI..

当您从新的 xCode4.5 构建而不是 iOS7 时,将应用新架构,它将继承所有新的 UI 功能..

于 2013-10-21T07:58:09.437 回答