3

我理解 iOS6 中新的自动布局技术的想法是您不再需要设置框架,而是按意图编写代码?

如果我通过它的框架更改 UIView 的大小,那么在运行时从这个开始,它的任何子视图当前都不会随着视图移动和更改。

因此,我为 UIView 上的约束创建了一个出口,并更改了该约束的常量。这会改变 UIView 的大小,并且所有子视图也会相应地移动。

因此,我在正确的轨道上吗?这是我想在自动布局下更改 UIView 大小的方式吗?

4

1 回答 1

9

你不设置框架。您改为更新相关约束(您将需要对这些约束的引用,无论是作为出口还是作为您在代码中创建约束后保留的属性)。

举个简单的例子,如果您固定了视图的宽度,只需更改.constant宽度约束的属性即可在视图上设置新的宽度。

这是一个包含子视图的示例视图控制器:

在此处输入图像描述

创建宽度和高度约束的出口,并在您想要调整视图大小时更改它们。

于 2012-12-30T12:52:06.737 回答