- (NSCollectionLayoutGroup*) createGroup:(id)layoutEnvironment cellMaxHegiht:(CGFloat)cellMaxHegiht { CGSize size = layoutEnvironment.container.contentSize; CGFloat interItemSpacing = (size.width - kHorizontalMargin * 2 - kCellWidth * kCountOfActionPerRow) / (kCountOfActionPerRow - 1); NSCollectionLayoutItem* item = [NSCollectionLayoutItem itemWithLayoutSize: [NSCollectionLayoutSize sizeWithWidthDimension:[NSCollectionLayoutDimension absoluteDimension:kCellWidth] heightDimension:[NSCollectionLayoutDimension estimatedDimension:cellMaxHegiht]]]; NSCollectionLayoutSize* horizotalLayoutSize = [NSCollectionLayoutSize sizeWithWidthDimension:[NSCollectionLayoutDimension fractionalWidthDimension:1.0] heightDimension:[NSCollectionLayoutDimension estimatedDimension:cellMaxHegiht]]; NSCollectionLayoutGroup* group; group = [NSCollectionLayoutGroup horizontalGroupWithLayoutSize:horizotalLayoutSize repeatingSubitem:item count:kCountOfActionPerRow]; group.interItemSpacing = [NSCollectionLayoutSpacing fixedSpacing:interItemSpacing]; return group; }