我一遍又一遍地遇到以下问题,并且我正在寻找一种干净的解决方案来做到这一点。

我有多个视图:一个父视图(我的rootView,由基本的UIViewController控制)和一个后代视图(一个UICollectionView中的UICollectionViewCell,它是rootView的子视图)。

UICollectionView的大小与我的rootView的大小有关:在rootView的UIViewController中创建UICollectionView的地方,我还创建了约束(在rootView和UICollectionView之间),并将它们添加到rootView中。

当在UICollectionViewCell中点击一个按钮时,我想更改UICollectionView的大小。因此,我需要更改在rootView上设置的约束。

有人告诉我,通过UIViewController的下调访问rootView的约束并以这种方式更改它们是肮脏的,因为让视图返回其(父)控制器是错误的。

在这种情况下我应该怎么做?在不与控制器对话的情况下,如何使控制器对视图作出反应?朝着正确方向的观点太棒了!

最佳答案

编辑后,听起来好像您在这里只玩一个视图控制器。在那种情况下,生活是美好的。操纵控制集合视图约束的逻辑属于视图控制器。

您想将按钮点击传递给视图控制器,并让其处理调整集合视图的大小。

您如何处理按钮水龙头?

关于ios - 从 subview 中更改在父 View 上设置的约束,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30978795/

10-13 04:07