为什么AutoLayout没有处理我的UICollectionView

bel*_*low 6 ios autolayout ios6 uicollectionview

我使用了一个非常简单的app应用程序(github上的源代码)UICollectionView.

只要应用程序处于纵向模式,一切正常.但是,当它更改为横向模式时,内容单元格不会被适当调整大小,因此不会显示任何内容.

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

我在这里错过了什么?

rob*_*off 9

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

  • 从iOS 8开始,可以自己制作单元格大小.布局将在适当时创建单元格的实例,您可以使用autolayout约束或覆盖sizeThatFits:.布局必须设置其estimateItemSize属性. (2认同)