如果您想将单元格整齐地打包在一起,即使另一个单元格中的其他内容较大,该怎么做?

如果您看下面的图片,则第一个字符串是最大的字符串,但是如果我想像第一个字符串那样将其他单元格整齐而紧密地打包在一起,无论大小如何,该如何做?

无论侧面和上下的尺寸如何,我都想这样做。
我希望像图中箭头所指那样布置单元格。

更新:文本的第一行是两个单元包装的togheter。

最佳答案

您必须使用 UICollectionViewFlowLayout 来实现此目的

注意:以下信息取自Raywenderlich blog

您可以将 UICollectionViewLayout 子类化,以创建自己的自定义布局,但是Apple慷慨地为开发人员提供了一个名为的基本“基于流程”布局UICollectionViewLayout 。它根据元素的大小将元素依次排列在上,就像网格视图一样。您可以直接使用此布局类,也可以将其子类化以获得一些有趣的行为和视觉效果。

您可以在Raywenderlich blog中看到一个很好的例子

示例代码:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
    NSString *searchTerm = self.searches[indexPath.section]; FlickrPhoto *photo =
    self.searchResults[searchTerm][indexPath.row];

    CGSize retval = photo.thumbnail.size.width > 0 ? photo.thumbnail.size : CGSizeMake(100, 100);
    retval.height += 35; retval.width += 35; return retval;
}


- (UIEdgeInsets)collectionView:
(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
    return UIEdgeInsetsMake(50, 20, 50, 20);
}

您可以实现的委托方法更多。示例如下
collectionView:layout:sizeForItemAtIndexPath
collectionView:layout:insetForSectionAtIndex:

关于iphone - 在iOS上将CollectionViewCells紧密打包在一起?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13411609/

10-11 23:40