iOS 7改变了我的界面[关闭]

Posted

技术标签:

【中文标题】iOS 7改变了我的界面[关闭]【英文标题】:iOS 7 changed my interface [closed] 【发布时间】: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> 【参考方案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 = 当前帧 + [状态栏高度 + 导航栏高度]

希望你清楚。

【讨论】:

以上是关于iOS 7改变了我的界面[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何像设置iOS系统一样进行视图转换? [关闭]

我用科尔多瓦写了我的项目。我可以转换它或在 IOS 中运行它吗?

在iOS 7.0 上运行的应用程序具有iOS 6.0 界面

iOS:如何获取刚刚在界面生成器中设置的 UIView 的框架

centos 7.5关闭图形界面

CentOS 7 关闭图形界面