如何在流布局中具有不同的像元大小

如何在流布局中具有不同的像元大小

这就是我能通过一个教程做到的
This is the Screenshot of the app
但我必须每3个和第1个细胞都是全宽的。我该怎么做?
代码是这样的

class MainViewController: UICollectionViewController
{

    // data source
    let publishers = Publishers()

    private let leftAndRightPaddings: CGFloat = 32.0
    private let numberOfItemsPerRow: CGFloat = 2.0
    private let heigthAdjustment: CGFloat = 100

    // MARK: - View controller life cycle

    override func viewDidLoad() {
        super.viewDidLoad()

        let width = (CGRectGetWidth(collectionView!.frame) - leftAndRightPaddings) / numberOfItemsPerRow
        let layout = collectionViewLayout as! UICollectionViewFlowLayout
        layout.itemSize = CGSizeMake(width, heigthAdjustment)
        print(width.description)

    }

    // MARK: - UICollectionViewDataSource

    override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
        return 1
    }

    override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return publishers.numberOfPublishers
    }

    private struct Storyboard
    {
        static let CellIdentifier = "PublisherCell"
    }

    override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
    {
        let cell = collectionView.dequeueReusableCellWithReuseIdentifier(Storyboard.CellIdentifier, forIndexPath: indexPath) as UICollectionViewCell

        return cell}

}

最佳答案

您需要在func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize中实现此UICollectionViewDelegateFlowLayout方法

关于ios - 如何在流布局中具有不同的像元大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36773571/

10-10 13:37