升级iOS 7应用程序是一项挑战。 UI是从IB构建的,但不使用自动布局。
在IB上,我取消选中了视图控制器的“扩展边缘”框。现在在IB中,它看起来对于iOS 7和iOS 6都是正确的。
未选中扩展边缘:
故事板外观:
分段控制色调:
在模拟器上,内容仍然会延伸到导航栏后面,除非我使导航栏不透明。它似乎只是忽略了未经检查的Extend Edges这一事实。
模拟器外观:
在运行iOS 7的iPhone 5上,内容也会在导航栏下扩展。此外,所有导航栏按钮都具有iOS 6外观。分段控件似乎也忽略了色调并在黑色上显示黑色。
iPhone 5运行iOS 7外观:
有人可以解释这里发生了什么以及如何在IB,模拟器和设备上获得iOS 7外观以匹配?
答案 0 :(得分:3)
我花了好几天的时间,对我看到的各种各样的显示器感到震惊。按钮不仅没有正确显示,而且我还在iOS 6和iOS之间的模拟器上获得了不同的UIView框架尺寸。 7.我还看到了模拟器和iOS 7设备之间框架的差异。
我正在追踪一个不同的问题,并意识到我的iOS设备在Xcode 5的目标菜单上出现了两次。我发现当你在Xcode中安装了多个iOS SDK时会发生这种情况。我从Xcode 5应用程序中删除了iOS 6.1 SDK,所有问题都消失了。
我无法确定这与我每次从菜单中选择其他设备无关。我知道每个SDK都会安装一个。它们的名字相同,所以我从来不知道选择哪一个。
再次,不确定这会导致我所有的问题,但我现在没有。希望这可以节省大量时间来追踪UI异常。