UICollectionViewController 如何调整单元格的大小?

Posted

技术标签:

【中文标题】UICollectionViewController 如何调整单元格的大小?【英文标题】:UICollectionViewController How to resize Cell? 【发布时间】:2012-11-02 15:29:52 【问题描述】:

UICollectionViewController 中搜索如何调整单元格(宽度和高度)的大小让我头疼。使用UITableViewController 有方法:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

但是对于UICollectionViewController,我找不到以编程方式执行此操作的方法。

我有一个UICollectionViewCell,但它显然不存在。

如何更改UICollectionViewController 中单元格的大小?

【问题讨论】:

【参考方案1】:

看起来你需要使用 UICollectionViewFlowLayout 和 UICollectionViewFLowLayoutDelegate 并实现

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath

查看 Ray Wenderlich 教程: http://www.raywenderlich.com/22324/beginning-uicollectionview-in-ios-6-part-12

【讨论】:

不幸的是,这个方法被称为before the cell is created。因此,如果您需要根据不同的内容大小调整单元格的大小,则它不起作用。 是否可以根据内容调整单元格大小而不需要进行繁琐的手动编码?? 我认为没有任何方法可以完全自动完成,但您仍然可以获得自动布局的好处。这是一篇用一种方式的文章:blog.amyworrall.com/post/66085151655/…

以上是关于UICollectionViewController 如何调整单元格的大小?的主要内容,如果未能解决你的问题,请参考以下文章

UISearchController 像 Instagram 探索选项卡

无法使用自动布局将简单的自行调整大小的集合视图单元格调整为标签大小