调整superview,它是一个嵌入式UIViewController以适应子视图

时间:2015-11-06 19:58:06

标签: objective-c swift resize autolayout interface-builder

以下是该方案:

我有一个分段控件,可以在隐藏/显示两个视图之间切换,每个视图都嵌入一个视图控制器(通过使用界面构建器"容器视图")。为简单起见,在每个嵌入式视图控制器中,我有一个单独的子视图,其超级视图边距具有固定的前导和尾部间距,以及子视图和其超视图之间固定的顶部和底部垂直间距。顶部和底部布局指南。如果超视图(即嵌入式视图控制器)是固定的宽度和高度,则这些约束应分别满足x位置,宽度,y位置和高度要求。

问题在于:

我想为子视图添加高度约束。如果不是在容器视图中嵌入视图控制器,而是将子视图(带有添加的高度约束)放在容器视图中(没有固定的高度约束),容器视图将自动调整为大小适合其子视图。但是,由于容器视图嵌入了视图控制器,因此自动布局不考虑视图控制器之间设置的约束。

换句话说,我想要"容器视图" (或嵌入式视图控制器)根据子视图的高度约束调整高度。

以下是我正在寻找的解决方案类型:

理想情况下,我希望这个问题的解决方案尽可能干净,在我看来这意味着:

1)坚持使用界面构建器和故事板。

2)用于NSLayoutConstraints的IBOutlets。

3)如果需要,可以进行子类化。

然而,除了我提出的解决方案之外的任何工作解决方案(不嵌入View Controller)都会帮助我。

0 个答案:

没有答案