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

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

如果我在iOS6和更早版本中运行我的应用程序,则缺lessalignment。

任何人都知道这个问题?
我们是否需要为iOS7和iOS6创build单独的.xib文件?

编辑:我closuresAutolayout,但在iOS6下,意见仍然下降了20个像素。

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

处理这个问题的最快速和最简单的方法就是closuresAutolay,并为每个视图使用iOS6 / 7 Delta值。

基本上:

  • select每个viewController的主view并取消选中“ Use Autolayout
  • select每个子subViewUIButtonUILabel等),进入框架设置部分
    1. 将他们的Y帧值增加20
      • 但看来你呢 ,@SudhakarTharigoppula,不需要做这一步。
        …只是做下一步
    2. ΔYinput一个-20的值

这将通过在iOS7中保留20px而在iOS6中保留20px来启动您的应用程序,-20px的ΔY将补偿您为每个子subView提供的额外20像素。

请参阅: IOS7中的状态栏和导航栏问题

如果您还没有这样做,请closuresxib文件中的AutoLayout。 Autolayout只有iOS 6和更新的iOS版本。

此外,您还可以通过File Inspector中的popup菜单预览iOS 6和iOS 7之间的XIB文件的外观:

接口生成器中的文件检查器