如何使.xib文件兼容iOS7,iOS6和更早版本

时间:2013-12-25 19:32:11

标签: ios cocoa-touch ios7

我在我的应用中使用.xib文件,而我正在使用xcode5。

如果我在iOS6及更早版本中运行我的应用程序,则会丢失对齐方式。

有谁知道这个问题?
我们是否必须为iOS7和iOS6创建单独的.xib文件?

编辑:我关闭了Autolayout,但在iOS6下,视图仍然下降了20个像素。

2 个答案:

答案 0 :(得分:4)

如果您还没有这样做,请关闭xib文件中的AutoLayout。 Autolayout仅适用于iOS 6和更新的iOS版本。

此外,您可以通过文件检查器中的弹出菜单预览iOS 6和iOS 7之间的XIB文件:

File Inspector in Interface Builder

答案 1 :(得分:3)

在iOS7中,应用程序窗口从y = 0px开始(在iOS6中,它从y = 20px开始)。

处理此问题的最快捷最简单的方法(,因为您已经在使用Xcode5 ),是关闭Autolayout并使用 iOS6 / 7 Delta 值对于每个视图。

基本上:

  • 选择每个viewController的主view并取消选中“Use Autolayout
  • 选择每个subViewUIButtonUILabel等),转到框架设置部分
    1. 将Y帧值增加20
      • 但似乎,@ SudhakarTharigoppula,不需要这样做。
        ......只是做下一步
    2. ΔY
    3. 输入值-20

这将启动你的应用程序,在iOS7中保留20px,但在iOS6中,ΔY的-20px将补偿你给予每subView的额外20px。

请参阅:Status bar and navigation bar issue in IOS7