我有一个iOS项目,我的主视图Controller,A
和另一个ViewController B
。 B
作为子视图控制器嵌入A
中。整个过程在Interface Builder中使用容器视图进行设置。
现在,B
有一些逻辑,它会对平移手势做出反应以调整其视图大小。这一切都运行正常,问题是容器视图始终保持相同的大小,并且不会使用B
的根视图调整大小。我希望Container View的大小与B
的根视图保持同步。
最佳方法是什么?有没有办法在Interface Builder中设置它?到目前为止我找到的唯一可行的解决方案是创建一个BDelegate
,A
监听,然后调整容器视图的大小。有没有更简单的方法来实现这一目标?
感谢
答案 0 :(得分:0)
equalHeight和equalWidth约束应解决您的问题
答案 1 :(得分:0)
感谢你的回答,我指出了正确的方向 - 具体而言,这是不可能的,就像我想象的那样。
无法在父视图控制器和子视图控制器的视图之间设置约束 - 无论是在IB中还是在代码中
据我所知,有两种方法可以解决这个问题:
不要使用第二个UIViewController。使您的子视图控制器的根视图成为您自己的实际子视图,并且只有一个UIViewController。
不要使用自动布局。手动管理子视图控制器视图的框架,并在必要时将委托回调返回到父视图控制器。在那些委托回调中,父视图控制器可以对子视图控制器视图的大小更改做出反应。