Collectionview 的底部约束未在运行时更新

Collectionview's bottom constraints not updated in runtime

我正在使用带有 FlowLayout 的 collectionView。请找到下图。

图中白色区域为collectionView。在运行时,红色视图可能会根据条件隐藏。所以 collectionView 将不得不向上移动。那不是问题。这按预期工作。但是当collectionView向上移动时,通过20像素的垂直间距约束连接到collectionView的'All Months'按钮不会向上移动。

我的要求是 'All Months' 按钮必须位于 collectionView 旁边 20 像素,即使 collectionView 在运行时更改其 y 位置或高度。

编辑: 我向上移动了我的 ScrollView 的 contentView 以向您展示 'All Months' 和 'Next' 按钮的约束。请查看以下图片

我在查看和编辑您的项目后更改了整个答案,在这里您可以使用我从您的项目中分叉出来的编辑后的 ​​link:

https://github.com/subhajitregor/AutoLayoutTest

我改变的东西:

  1. 滚动视图中的内容视图的高度限制优先级更改为 250(低优先级),因为如果隐藏橙色视图,它不会变短。

  2. 在你的viewWillAppear()中我添加了self.view.layoutIfNeeded()并注释掉了viewDidLayoutSubviews()的内部代码(你可以根据需要重新打开代码)

我已经检查过它并根据需要正常工作。请在我提供的 link 中检查该项目并告诉我。