【问题标题】:Storyboard app run on iOS 7 OK but Navbar shift view on iOS 6.1Storyboard 应用程序在 iOS 7 上运行正常,但在 iOS 6.1 上导航栏切换视图
【发布时间】:2013-09-15 23:14:13
【问题描述】:

在使用昨天发布的新 Xcode 5 重建我的项目时,我很失望地看到我的情节提要视图控制器动摇了。

经过多次尝试解决问题后,我必须得出结论,我遇到了一个遗留问题:导航视图控制器使导航栏与视图内容重叠。这样做,该应用在 iOS 7 设备上可以正常运行(没有重叠),但在 iOS 6.1 设备上,导航栏会重叠。

我从 FlatUI 运行了一个示例项目来交叉检查问题,他们也有同样的问题。请问有什么办法吗?

【问题讨论】:

  • 实际上答案是 IB 中的 Extends Edges 标志:只需取消选中 Under Top Bar 标志,就完成了。
  • Stephane de Luca:我也面临同样的问题,你指的是哪个标志?
  • 他的意思是在视图控制器的属性检查器中,扩展边缘。有下顶栏、下底栏、不透明栏下的选项。

标签: storyboard ios7 ios6.1


【解决方案1】:

由于坐标系,您遇到了问题,iOS 6 和 iOS 7 的坐标系不同 iOS 7 默认使用translucent properties

尝试将此代码放入viewDidLoad

if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1)
{
     self.edgesForExtendedLayout=NO;
}

【讨论】:

    【解决方案2】:

    我认为这是因为 iOS 6 和 iOS 7 的坐标系统

    请检查以下两张图片。

    iOS 6:

    iOS 7:

    【讨论】:

    • 如何解决这个问题?我也面临同样的问题,我的观点在 iOS 7 中向上移动
    • 要解决这个问题,你必须手动检查 if(iOS7) { view.frame = CGRectmake(view.frame.origin.x,view.frame.origin.y,view.frame.size .width,view.frame.size.height + 状态栏高度 + anyBar 你已经加了高度); anyBar 将替换为以下 Navigation bar = 44 pts Tab bar = 49 您应该在框架中添加此值,如果两者都使用则添加两个值}
    • 我在.xib做了设计我应该如何改变框架?
    • 可能我想没有办法使用 xib 来做到这一点。
    【解决方案3】:

    正如我在评论中所说:在 IB(界面构建器)中,您需要转到视图控制器的“属性检查器”,并查看“扩展边缘”属性:只需取消选中“顶部栏下方”标记,你就完成了。

    【讨论】:

      【解决方案4】:

      在界面生成器中,在尺寸检查器选项卡中,有一个名为 iOS 6/7 Delta 的部分,您可以在其中修复导航栏问题或某些控件在 ios7 中的大小与在 ios6 中不同的情况。

      【讨论】:

        【解决方案5】:

        你必须做两件事:-

        一个。在情节提要中选择特定的 xib 或视图,并在右窗格中查看扩展边缘选项 unlcik 第一个选项。 现在这将完全改变你的看法。

        b. 此视图中的所有内容也将移动到下方,因为您必须为 ios7 设置增量因子 -(x 像素),为 ios6 设置 +(像素)。 对于设置 6 和 7,您必须在 xib 的右窗格中选择“查看为”选项。

        快乐编码

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-01-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多