Сделайте UICollectionViewCell той же ширины, что и UICollectionView - PullRequest
0 голосов
/ 13 октября 2019

Пишу этот вопрос просто для справки и чтобы помочь любому, кто столкнулся с той же проблемой, с которой я столкнулся. Многие ответы здесь в SO и в поиске Google не дали полного решения. Вот и я отвечаю на свой вопрос

1 Ответ

2 голосов
/ 13 октября 2019

Вот код, который работает и правильно устанавливает ширину и высоту

import UIKit

class MyViewController: UIViewController, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource {

    @IBOutlet weak var myCollectionView: UICollectionView!

    override func viewDidLoad() {
        super.viewDidLoad()

        myCollectionView.delegate = self
        myCollectionView.reloadData()
    }

    //Other methods here

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout,
                        sizeForItemAt indexPath: IndexPath) -> CGSize {
        let width = collectionView.frame.size.width
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) //Put your Cell Identifier istead of Cell
        let height = cell.contentView.frame.height

        return CGSize(width: width, height: height)
    }

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