将子视图添加到容器视图共享的superview会调整容器视图的大小

时间:2013-08-07 16:44:06

标签: ios uiview

我有一个视图控制器,其视图有一个容器视图作为子视图。我在IB中设置了容器视图的初始框架,然后根据横幅中是否加载了iAd来更改它。如果我将另一个子视图添加到视图控制器的视图中,则容器视图的框架将调整大小回到IB中设置的框架。

我不知道为什么会这样,并感谢任何帮助。我创建了一个测试应用程序,以消除所有其他变量,所以我知道这是情况。

1 个答案:

答案 0 :(得分:2)

使用自动布局时,无法设置从xib或故事板加载的视图帧。自动布局设置框架,它忽略您对框架所做的更改。如果需要直接移动或调整大小,则需要更新这些视图的约束。

您可以在视图控制器中创建指向NSLayoutConstraint的插座,并将插座连接到xib或故事板中的相应约束。然后,您可以更改约束的constant属性以更改视图的位置或高度。