UICollectionView中具有可变项大小的恒定行间距

时间:2017-06-29 17:31:39

标签: ios uicollectionview uikit uicollectionviewlayout

我有一个带水平滚动和可变大小项目的UICollectionView。

Screenshot

是否可以在水平'中的项目之间保持恒定的间距?行?

screenshot2

感谢。

1 个答案:

答案 0 :(得分:0)

您需要提供单元格的可变宽度。从 UICollectionViewDelegateFlowLayout

实现此方法
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    let size = (items[indexPath.item] as NSString).size(attributes: nil)
    return CGSize(width: size.width + yourTextPadding, height: yourCellHeight)
}

您还可以提供标签的字体属性以进行精确计算,或者只使用一些常量(例如2倍宽度的文本)。