我一遍又一遍地遇到以下问题,我正在寻找一个干净的解决方案来做到这一点。
我有多个视图:父视图(我的rootView,由我的基本UIViewController控制)和后代视图(UICollectionView中的UICollectionViewCell,它是我的rootView的子视图)。
UICollectionView的大小是相对于我的rootView的大小:在rootView的UIViewController中,我创建了UICollectionView,我还创建了约束(在rootView和UICollectionView之间)并将它们添加到rootView。 / p>
在UICollectionViewCell中点击按钮时,我想更改UICollectionView的大小。因此,我需要更改在rootView上设置的约束。
我被告知通过UIViewController的向下转换访问rootView的约束并以这种方式更改它们是脏的,因为有一个视图与其(父)控制器对话是错误的。
我应该如何在这种情况下采取行动?如何让控制器对视图做出反应,而视图不与控制器通信?正确方向上的一点很棒!
答案 0 :(得分:0)
编辑完成后,听起来你在这里只有一个视图控制器。在那种情况下,生活是美好的。操纵控制集合视图的约束的逻辑属于视图控制器。
您希望将按钮水龙头传递给视图控制器,并让它处理调整集合视图的大小。
你是如何处理按钮水龙头的?