为什么 insetForSectionAt UICollectionView 委托不调用 iOS Swift 3?

Why insetForSectionAt UICollectionView delegate not calling in iOS Swift 3?

我对 UICollectionView 委派有疑问。因为 insetForSectionAt 委托永远不会调用。
所以请查看此代码并帮助我解决此问题:

import UIKit

class GalleryCollectionViewController: UICollectionViewController {
    var dataSourceArr:Array<UIImage>!
    override init(collectionViewLayout layout: UICollectionViewLayout) {
        super.init(collectionViewLayout: layout)
        collectionView?.collectionViewLayout = layout
        collectionView!.register(GalleryCollectionViewCell.self, forCellWithReuseIdentifier: "cell")
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    override func viewDidLoad() {
        super.viewDidLoad()
    }



    // MARK: UICollectionViewDataSource
    override func numberOfSections(in collectionView: UICollectionView) -> Int {
        return 1
    }

    override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        if dataSourceArr.count != 0 {
            return dataSourceArr.count
        }
        return 0
    }

    override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! GalleryCollectionViewCell
        cell.imageView.image = dataSourceArr[indexPath.row]

        return cell
    }


    // MARK: UICollectionViewDelegate
    func collectionView(_ collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout,minimumLineSpacingForSectionAt section: Int) -> CGFloat{

        return 0;
    }

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAtIndex section: Int) -> CGFloat {

        return 0;
    }


    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {

        return CGSize(width:collectionView.bounds.size.width/4 , height: collectionView.bounds.size.width/4)
    }

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

        return UIEdgeInsetsMake(0,0,0,0)

    }





}

您需要继承自UICollectionViewDelegateFlowLayout,例如

class GalleryCollectionViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout