容器视图及其子视图的大小相同

时间:2017-06-19 12:18:28

标签: ios iphone swift autolayout interface-builder

我有一个iOS项目,我的主视图Controller,A和另一个ViewController BB作为子视图控制器嵌入A中。整个过程在Interface Builder中使用容器视图进行设置。

Setup Logic

现在,B有一些逻辑,它会对平移手势做出反应以调整其视图大小。这一切都运行正常,问题是容器视图始终保持相同的大小,并且不会使用B的根视图调整大小。我希望Container View的大小与B的根视图保持同步。

最佳方法是什么?有没有办法在Interface Builder中设置它?到目前为止我找到的唯一可行的解​​决方案是创建一个BDelegateA监听,然后调整容器视图的大小。有没有更简单的方法来实现这一目标?

感谢

2 个答案:

答案 0 :(得分:0)

equalHeight和equalWidth约束应解决您的问题

答案 1 :(得分:0)

感谢你的回答,我指出了正确的方向 - 具体而言,这是不可能的,就像我想象的那样。

无法在父视图控制器和子视图控制器的视图之间设置约束 - 无论是在IB中还是在代码中

据我所知,有两种方法可以解决这个问题:

  1. 不要使用第二个UIViewController。使您的子视图控制器的根视图成为您自己的实际子视图,并且只有一个UIViewController。

  2. 不要使用自动布局。手动管理子视图控制器视图的框架,并在必要时将委托回调返回到父视图控制器。在那些委托回调中,父视图控制器可以对子视图控制器视图的大小更改做出反应。