【问题标题】:iOS 7 changed my interface [closed]iOS 7改变了我的界面[关闭]
【发布时间】:2013-09-13 09:04:03
【问题描述】:

我尝试为 iOS 7 编译我的应用程序,但是当我这样做时,所有组件的位置都发生了变化,并且状态栏变黑了。我怎样才能避免这种情况?

iOS 6 及之前版本:

http://img4.hostingpics.net/thumbs/mini_878656Capturedcran20130913105152.png

iOS 7:

http://img4.hostingpics.net/thumbs/mini_939873Capturedcran20130913105216.png

【问题讨论】:

  • 它违反了 NDA 的哪一部分?
  • @Pradeep 从什么时候开始有一些保密协议提出了一个离题的问题? SO 不参与 NDA。
  • @Pradeep 你不需要发布这样的 cmets。只是不要回答这个问题,你不会受到那样的伤害。 :)
  • 我想知道 Apple 是如何设法发展出一个如此严格地保护他们可以谈论的内容的社区。​​span>

标签: ios objective-c ios7


【解决方案1】:

UI 元素在屏幕上的实际布局方式发生了重大变化,这意味着状态栏的“死区”不再存在,视图将获得屏幕的完整尺寸。 iOS 开发人员文档页面上有一个 iOS 7 UI 转换指南,其中更详细地介绍了更改以适应视图。

对于状态栏,请查看 UIStatusBarUIStatusBarStyle 的文档,这允许您设置黑色特定状态栏,否则默认为 iOS 7 状态栏样式。

【讨论】:

    【解决方案2】:

    您是否尝试过自动调整掩码属性?尝试从 XIB 设置它。我认为这将解决您的控件位置错误的问题。

    谢谢。

    【讨论】:

      【解决方案3】:

      这是因为 iOS 7 和 iOS 6 的结构。

      iOS 6 及更低版本:

      主视图大小因您添加的栏而异

      现在如果我们考虑 iPhone 5 手机壳

      空主视图大小:320 & [568 - status barsize[20]] = 548

      MainView + 导航栏 = 320 * [568 - 状态栏[20] - 导航栏[49]] = 499

      iOS 7 及更高版本:

      您的总主视图大小将是固定的 [320 * 568]

      现在你正在使用导航栏

      你只需要检查 [iOS 7] 那么你的子视图的框架应该是这样的

      subViewframe = 当前帧 + [状态栏高度 + 导航栏高度]

      希望你清楚。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-18
        • 1970-01-01
        相关资源
        最近更新 更多