如何自动调整单元格大小以适合每行 4 个 [重复]

Posted

技术标签:

【中文标题】如何自动调整单元格大小以适合每行 4 个 [重复]【英文标题】:How to automatically resize cells to fit 4 per line [duplicate] 【发布时间】:2017-04-24 15:13:11 【问题描述】:

我有一个集合视图,我正在寻找一种方法来找出每个单元格可以有多大以适应每行 4 个单元格(在特定的屏幕尺寸上)并在所有单元格上使用该尺寸。我有一个可重复使用的单元格,可用于其余单元格。

【问题讨论】:

【参考方案1】:
extension LevelSelectController: UICollectionViewDelegateFlowLayout 

// Collection view flow layout setup
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize 
    // Compute the dimension of a cell for an NxN layout with space S between
    // cells.  Take the collection view's width, subtract (N-1)*S points for
    // the spaces between the cells, and then divide by N to find the final
    // dimension for the cell's width and height.

    let cellsAcross: CGFloat = 4
    let spaceBetweenCells: CGFloat = 0
    let dim = (collectionView.bounds.width - (cellsAcross - 1) * spaceBetweenCells) / cellsAcross

    return CGSize(width: dim, height: dim)


func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets 
    return UIEdgeInsetsMake(0, 0, 0.0, 0.0)


func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat 
    return 0.0


func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat 
    return 0.0

【讨论】:

以上是关于如何自动调整单元格大小以适合每行 4 个 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何强制调整 indexWidgets 的大小以适合 Qt5 QTableView 的单元格

表格中的右图未调整大小

如何让excel表格自动适应文字长度?

如何调整自定义 UITableViewCell nib 文件的大小以适合 tableView?

单击一个单元格,图像大小发生变化

自定义表格单元格未调整大小以适合内容视图