如何防止 Xcode/Interface Builder 自动向下移动视图?

Posted

技术标签:

【中文标题】如何防止 Xcode/Interface Builder 自动向下移动视图?【英文标题】:How to prevent Xcode/Interface Builder from auto-shifting view down? 【发布时间】:2014-10-08 06:06:20 【问题描述】:

没有修改针对运行 ios 7.1 的 iPhone 的新 Xcode 6.0 Single View 项目中的任何代码,我在第 5 代 iPod Touch 设备上的测试结果显示了 Interface Builder 中内容的转换版本。看来这种转变是向下的。我已经尝试关闭自动布局和大小类,并将所有 UIView 坐标重置为 (0,0),但电池符号和上栏仍然太低了!请参阅下面的图片以获取 Interface Builder 屏幕截图和设备屏幕截图。问题是如何保持我在 Interface Builder 中看到的内容,并阻止 iPod 向下移动整个 UIViewController?谢谢!

更新:最后,我不得不进入项目构建设置,点击 Targets 下的应用程序,并将 Launch Images Sources 更改为名为“LaunchImage-2”的新文件夹并删除 Launch Screen File 字段,其中设置为启动图像。

【问题讨论】:

看起来您需要将“默认”图像添加到项目中,您这样做了吗? 不,什么是默认图像,如何添加它们? 【参考方案1】:

如果不添加 Default-568h@2x.png

然后 xcode 构建大小为 3.5 英寸的项目并在底部显示黑色补丁。

所以你必须强制添加名称为 Default-568h@2x.png 大小为 640 x 1136 的图像

如果您为启动图像使用空的Asset Catalog,则支持 iPhone 5 的屏幕尺寸(根本无需包含任何图像文件)。

【讨论】:

在哪里可以找到 Default-568h@2x.png,为什么在下载 Xcode 6.0 之前我的所有其他项目都不需要这样做? Default-568h@2x.png 是在用户打开应用程序时显示的初始屏幕。这意味着您必须创建此图像。 我不想要或不需要启动画面,而且我的其他应用程序(我在 Xcode 6.0 之前开始)都没有它们。如何关闭此要求? 好的,所以我设法将 LaunchImage 目录添加到 Images.xcassets 中,并将其中的所有内容留空,但它仍然没有删除所有黑色(3.5 英寸)填充... 在我的其他项目中,LaunchImage 只有 iPhone Portrait iOS 7,8 ......但对于这个新项目,它还有大量其他空白,适用于 iPad、旧款 iPhone 等。它是好奇怪!【参考方案2】:

您似乎需要将默认或启动图像添加到项目中。您的项目应该使用图像资源,因此您会看到启动图像,并且您需要提供适当尺寸的图像,最好适用于所有 iPhone 屏幕尺寸。

【讨论】:

在哪里可以找到这些图片?我的背景只是一个通用的 UIView,里面没有图像内容,所以我不确定如何生成默认图像。我以前从来没有这样做过(在 Xcode 5 中,...),所以我有点困惑。 您以前的所有应用程序中都应该有这些图像。它通常应该看起来像您的初始 UI,但没有按钮。 仅供参考,这些“默认图像”不是必需的。它们——以及 LaunchImages 文件夹——对于我的所有项目来说都是空白的。 Xcode 6.0 中发生了一些变化,默认情况下它们是打开的,但没有图像,我不得不摆脱它们。

以上是关于如何防止 Xcode/Interface Builder 自动向下移动视图?的主要内容,如果未能解决你的问题,请参考以下文章

Xcode Interface Builder Style Guide - 如何添加颜色

如何在 Xcode Interface Builder 中将导航项添加到 Table View Controller(带有静态单元格)?

编辑情节提要时 Xcode Interface Builder 崩溃

XCode Interface builder缺少视图层次结构

xcode Interface Builder 未更新 IBDesignable 类

XCode Interface Builder开发——2