2

我刚刚迁移到 Xcode 4,并且 Interface Builder 的工作方式与 Xcode 3 中的不太一样。当我设计我的用户界面时,每当我调整包含任何子视图的视图(包括窗口本身)时,例如一个 NSBox 或一个自定义视图,所有的子视图都会随之重新缩放!

我明白为什么这是有道理的,因为它显示了应用程序在运行时的行为,但在设计时却很烦人;每次我想向窗口添加更多控件时,我都需要扩展窗口,然后将所有子视图的大小调整回原来的样子,然后添加新控件。它快把我逼疯了!

我一直在寻找一种方法来阻止这种情况发生,但似乎无法做到。首先,我认为,由于它正在模拟运行时行为,因此如果我在 Windows 视图属性中取消选中“自动调整子视图”,则会停止自动调整大小。但这没有用。

然后我在 Interface Builder User Guide 中找到了这个:

Interface Builder 提供了两种调整窗口大小的行为:

  • 您可以仅调整窗口大小。

  • 您可以调整窗口及其所有内容的大小。

默认情况下,调整窗口大小只会调整窗口大小。要调整窗口及其内容的大小,请在单击并拖动窗口的调整大小手柄的同时按住 Command 键。按住 Command 键会导致 Interface Builder 应用当前对窗口包含的视图进行的自动调整大小行为。此技术可让您查看窗口的运行时调整大小行为或将窗口及其内容缩放到所需大小。

您可以通过从菜单中选择布局 > 实时自动调整大小来切换默认调整大小模式。切换时,按住 Command 键仅调整窗口大小。

我在菜单中找不到这个,而是:Editor > Canvas > Live Autoresizing(也许文档在这方面有点过时了?)

有趣的是它被禁用了。我以任何方式打开和关闭它只是为了确保,但自动调整大小仍在发生!

有没有其他人遇到过这个问题,或者是我错过了 Xcode 4 中的某些更改?

4

2 回答 2

0

Xcode4 非常不同。

您可以调整窗口及其所有内容的大小。

在您查看对象-> 属性检查器-> 自动调整子视图大小 在此处输入图像描述

于 2012-11-29T14:30:39.807 回答
0

啊哈!我刚刚在网上找到了答案:

http://www.goodbyehelicopter.com/2012/02/arggh-xcode-4-3-auto-layout-is-on-by-default-how-to-turn-off-auto-layout/

问题是在 Xcode 4.3 或更高版本中默认启用了“自动布局”功能!

要禁用此功能,请转到 nib 的文件检查器并在“Interface Builder Document”下,取消选中“Use Auto Layout”

通过禁用此功能,Interface Builder 的工作方式看起来更像 Xcode 3把我的脑袋转过来!

于 2012-11-29T14:44:33.270 回答