iPhone SE上的UICollectionView水平行

时间:2019-02-25 17:01:41

标签: swift uicollectionview

水平收集视图有一个小问题。在所有其他屏幕尺寸上,它保持为一行,但是由于某种原因,当我在iPhone SE模拟器上对其进行测试时,collectionView会分成两行。任何可能的原因/解决方案将不胜感激!

lazy var collectionView: UICollectionView = {



    let layout = UICollectionViewFlowLayout()
    layout.scrollDirection = .horizontal
    layout.minimumLineSpacing = 2


    let cv = UICollectionView(frame: .zero, collectionViewLayout: layout)
    layout.sectionInset = UIEdgeInsets.zero


    cv.backgroundColor = .clear
    cv.isPagingEnabled = false


    cv.dataSource = self
    cv.delegate = self


    return cv
}()


    self.addSubview(collectionView)

collectionView.anchor(top: nil, left: bottomView.leftAnchor, bottom: bottomView.bottomAnchor, right: bottomView.rightAnchor, paddingTop: 0, paddingLeft: 1, paddingBottom: 20, paddingRight: 0, width: 1000, height: 150)

1 个答案:

答案 0 :(得分:0)

根据您的代码,itemSize中的UICollectionViewFlowLayout并不明显,但是如果项目的高度至少大于内容高度的一半(请考虑{{1 }}),您的项目应水平排列。您现在看到的是,如果内容高度足够,minimumInteritemSpacing会将项目堆叠在一起。因此,首先尝试:

UICollectionViewFlowLayout

获取layout.itemSize = CGSize(width: 100, height: 150) 高度的一种更确定的方法是实现以下collectionView方法,在该方法中,您可以基于该方法设置itemSize:

UICollectionViewDelegateFlowLayout