在CollectionView Swift

时间:2018-08-21 23:03:02

标签: ios swift uicollectionview

我正在尝试设置集合视图单元格的大小,以便每行获得两个单元格。

我已经查看了许多解决方案,用于确定收集视图的单元大小。实际上,在为每行确定三个对我有用的单元之前,我实际上已经使用了一些解决方案。

到目前为止我所拥有的:

extension BusinessViewController: UICollectionViewDelegateFlowLayout {

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        let width = (view.frame.width - 20) / 2.0
        return CGSize(width: width, height: width)
    }

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
        return UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5)
    }

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

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

}

现在,我每行只有一个大单元,我不知道为什么。通常,当我每行必须有3个单元格时,只需从视图宽度中减去插图并除以所需单元格的数量即可。不知道为什么这会引起我问题。

1 个答案:

答案 0 :(得分:1)

您可以尝试检查UICollectionView的“ estimatesSize”属性。 可以将其设置为“自动”,而不是“无”。 我用这个解决方案解决了同样的问题