为什么AutoLayout没有照顾我的UICollectionView

我已经使用UICollectionView构build了一个非常简单的应用程序示例( github上的源代码)。

一切工作正常,只要该应用程序在肖像模式。 然而,当它改变为横向模式时,内容单元没有适当地resize,因此什么都不显示。

我认为所有必要的AutoLayout约束都已到位。 我知道我可以实现collectionView:layout:sizeForItemAtIndexPath:但我的目标是尽可能多地使用AutoLayout(只是为了更好地理解AutoLayout)。

我在这里错过了什么?

您可以使用自动布局设置集合视图的位置和大小。 而且您可以使用自动布局来设置每个单元格内的子视图的位置和大小。 但是您不能使用自动布局来控制单元格的位置和大小。 您必须使用集合视图的布局对象来设置每个集合视图单元格的位置和大小。 如果希望单元在界面方向更改时更改大小,则必须更新布局对象以报告新大小并使布局无效。