自动布局CollectionView

时间:2018-08-06 19:51:25

标签: iphone swift uicollectionview autolayout

我试图对CollectionVIew使用自动布局,但是当我在iPhone plus中运行它时,在单元格之间会创建一个空格。

iPhone 8 Plus enter image description here

iPhone 8 enter image description here

3 个答案:

答案 0 :(得分:0)

我想您已经通过集合视图的委托方法设置了单元格大小。您需要做的一件事是,只要集合视图的框架发生变化,就调用invalidateLayout(),这样它将重新渲染单元格。

IE:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    collectionView.collectionViewLayout.invalidateLayout()
}

答案 1 :(得分:0)

  

Delegate:-UICollectionViewDelegateFlowLayout

func collectionView(_ collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout,sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize(width: (self.collView.frame.size.width)  / 2, height: yourCellHeight)
}

答案 2 :(得分:0)

我通过在ViewDidLoad中设置单元格的大小来解决它(我只是设置宽度,但是也可以设置高度)

let layout = YourCollectionView.collectionViewLayout as? UICollectionViewFlowLayout
    layout?.estimatedItemSize = CGSize(width: view.bounds.width / 2 , height: 114)