Ограничения не работают на UICollectionView - PullRequest
0 голосов
/ 08 декабря 2018

В моем приложении есть три 'UICollectionViews'.Если я установлю для них constraints, они сделают что-то странное ... 'UICollectionViews' сливаются вместе, и отображается только один из них, а UICollectionViewCells не растягивается при увеличении экрана (iPad /iPhone +).

Есть ли что-то особенное, что я должен учитывать при использовании ограничений на 'UICollectionViews'?

Вот картинка, чтобы прояснить, что я имею в виду:

enter image description here

enter image description here

1 Ответ

0 голосов
/ 11 декабря 2018

Похоже, что размер ячейки и несоответствие размера представления, потому что вы не упомянули о ячейке.

В этом случае создайте выходную форму Flow View Layout Collection и отрегулируйте размер ячейки соответственно.

@IBOutlet weak var collView: UICollectionView!
@IBOutlet weak var collLayout: UICollectionViewFlowLayout!

override func viewDidLayoutSubviews() {
    var w = self.view.frame.width
    if #available(iOS 11.0, *) {
        w = self.view.safeAreaLayoutGuide.layoutFrame.width
    }
    let padding:CGFloat = 20
    let spacing:CGFloat = 5
    let columns:CGFloat = 6
    let cw = ceil((w - padding) / columns)
    collLayout.itemSize = CGSize(width: cw - spacing*2, height: cw - spacing*2)
    collLayout.minimumLineSpacing = spacing
    collLayout.minimumInteritemSpacing = spacing

    super.viewDidLayoutSubviews()
}
...