UICollectionViewDelegateFlowLayout insets不起作用

时间:2016-09-29 11:32:33

标签: ios swift uicollectionview uicollectionviewlayout

我在ViewController中实现了UICollectionViewDelegateFlowLayout,并使用以下代码指定insets:

func collectionView(_ collectionView: UICollectionView,
                               layout collectionViewLayout: UICollectionViewLayout,
                                      insetForSectionAt section: Int) -> UIEdgeInsets {
    return sectionInsets
}

但是当我使用断点进行调试时,从不执行此函数。 因为我已经将UICollectionView的委托指定给ViewController,所以我不知道出了什么问题。

1 个答案:

答案 0 :(得分:5)

要设置集合视图的布局,请在collectionViewClass中执行以下操作:

<强> 1。实施方法getLayout

func getLayout() -> UICollectionViewLayout
    {
        let layout:UICollectionViewFlowLayout =  UICollectionViewFlowLayout()

        layout.itemSize = CGSize(width: 150, height: 150)
        layout.sectionInset = UIEdgeInsets(top: 25, left: 25, bottom: 25, right: 25)

        return layout as UICollectionViewLayout

    }

<强> 2。从ViewDidLoad中的方法设置属性:

self.collectionView!.collectionViewLayout = self.getLayout()