1

为 iOS 7 升级我的应用程序是一项挑战。UI 是从 IB 构建的,但不使用自动布局。

在 IB 上,我取消选中视图控制器的 Extend Edges 框。现在在 IB 中,对于 iOS 7 和 iOS 6,一切看起来都是正确的。

未选中扩展边:

IB 延伸边

故事板外观:

IB 按钮 在此处输入图像描述

分段控制色调:

在此处输入图像描述

在模拟器上,除非我使导航栏不透明,否则内容仍会延伸到导航栏后面。它似乎只是忽略了未选中的延伸边缘这一事实。

模拟器外观:

在此处输入图像描述 在此处输入图像描述

在运行 iOS 7 的 iPhone 5 上,内容也延伸到导航栏下方。此外,所有导航栏按钮都具有 iOS 6 外观。分段控件似乎也忽略了色调并在黑色上显示黑色。

运行 iOS 7 的 iPhone 5 外观:

在此处输入图像描述 在此处输入图像描述

有人能解释一下这里发生了什么,以及如何让 IB、模拟器和设备上的 iOS 7 外观相匹配吗?

4

1 回答 1

3

我花了好几天的时间,对我看到的各种展示感到震惊。不仅按钮显示不正确,而且我在 iOS 6 和 7 之间的模拟器上也获得了不同的 UIView 框架尺寸。我还看到了模拟器和 iOS 7 设备之间的框架差异。

我正在寻找一个不同的问题,并意识到我的 iOS 设备在 Xcode 5 的目标菜单上出现了两次。我发现当您在 Xcode 中安装了多个 iOS SDK 时会发生这种情况。我从 Xcode 5 应用程序中删除了 iOS 6.1 SDK,我的所有问题都消失了。

我不能确定这是否与我每次从菜单中选择不同的设备无关。我知道每个安装的 SDK 都会显示一个。它们的名字一样,所以我不知道该选择哪一个。

同样,不确定这是否会导致我所有的问题,但我现在没有这些问题。希望这可以为人们节省大量跟踪 UI 异常的时间。

于 2013-10-07T20:55:59.990 回答