Ios 容器视图及其子视图的大小相同
我有一个iOS项目,其中有我的主视图控制器Ios 容器视图及其子视图的大小相同,ios,iphone,swift,autolayout,interface-builder,Ios,Iphone,Swift,Autolayout,Interface Builder,我有一个iOS项目,其中有我的主视图控制器A,还有另一个视图控制器BB作为子视图控制器嵌入在A中。整个过程都是在Interface Builder中使用容器视图进行设置的 现在,B有了一些逻辑,它可以对平移手势做出反应来调整视图大小。这一切都很好,问题是容器视图始终保持相同的大小,并且不使用B的根视图调整大小。我希望容器视图的大小与B的根视图保持同步 最好的方法是什么?有没有办法在Interface Builder中进行设置?到目前为止,我找到的唯一可行的解决方案是创建一个BDelegate,
A
,还有另一个视图控制器B
B
作为子视图控制器嵌入在A
中。整个过程都是在Interface Builder中使用容器视图进行设置的
现在,B
有了一些逻辑,它可以对平移手势做出反应来调整视图大小。这一切都很好,问题是容器视图始终保持相同的大小,并且不使用B
的根视图调整大小。我希望容器视图的大小与B
的根视图保持同步
最好的方法是什么?有没有办法在Interface Builder中进行设置?到目前为止,我找到的唯一可行的解决方案是创建一个BDelegate
,它a
侦听并调整容器视图的大小。有没有更简单的方法来实现这一点
谢谢等高和等宽约束应该可以解决您的问题谢谢您的回答,我的方向是正确的——特别是,这不可能像我想象的那样 无法在父视图控制器和子视图控制器的视图之间设置约束-无论是在IB中还是在代码中 据我所知,有两种方法可以解决这个问题:
抱歉,我可能应该澄清一下:IB不允许容器视图与其子视图之间存在约束。至少我想不出一个办法。从视图向右拖动到它的容器,你会发现它。问题是子视图与容器视图不在同一棵树中:。在这里,俯视图控制器是
A
,俯视图控制器是B
,我想时间线容器
和视觉效果视图
同步它们的大小!我相信您只能通过代码来实现这一点,“容器视图”的概念是“自动加载”子视图控制器,并将其视图显示为容器的子视图。因此,正如您所看到的,更改连接的“子”视图的大小不会更改容器。您当然可以通过代码来实现,但如果您正在寻找仅自动布局选项,则最好不要使用容器视图,而只是将B
作为子视图开始。一般来说,放弃解决方案#2。。。自动布局和约束是管理不同屏幕大小和方向的完美方法。有时,您可能希望使用代码来设置/更改特定的约束值,但仍然使用自动布局。