4

为什么 iPhone Interface Builder 不允许我设置顶级 UIView 的 X、Y 坐标?(意思是直接父级是 UIViewController 的视图。)View Size 选项卡上的 X 和 Y 框是灰色的。我可以在运行时更改代码中的 X、Y 值,那么为什么不能在 Interface Builder 中更改呢?

谢谢。

4

3 回答 3

4

因为 a 拥有的视图UIViewController填充了其父级中的可用空间。它的父级将是 a 或由 a或UIWindow之类的东西控制的视图。它将为您定位视图。如果要控制视图的位置,请将其设置为由.UINavigationControllerUITabBarControllerUIViewController

于 2008-12-11T22:03:38.720 回答
1

我同意这是 IB 中缺少的功能。对于基本用法,即创建单个顶级视图以放置在标准视图控制器中,当然没有必要设置视图原点。然而,NIB 被设计为能够在任意对象图中保存任意数量的顶级视图。由于这允许您以您认为合适的任何方式使用这些视图,包括以编程方式将它们嵌入到任何其他视图中,因此在 IB 中锁定这些控件是不必要的约束。在一个相关但有趣的注释中,如果您将定位视图移动到顶层,IB 本身会记住其相对位置以用于显示目的。但是,一旦加载了 NIB,此位置将不可用。

于 2011-09-20T19:21:11.940 回答
1

在 Xcode 4.3.2 中,您可以在属性检查器中选择 size->freeform。

于 2012-08-20T20:53:55.580 回答