根据各种屏幕尺寸自动布局收集视图

时间:2016-10-09 13:33:37

标签: ios swift uicollectionview swift3 uicollectionviewlayout

我使用集合视图委托和数据源在普通视图控制器中使用集合视图。我使用sizeForItemAtIndexPath但它没有调整单元格的大小。

let screenSize: CGRect = UIScreen.main.bounds

func collectionView(_collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
{
    return CGSize(width: screenSize.width / 3, height: screenSize.width / 3)
}

使用autoLayout正确地为集合视图分配约束。

在iPhone5中的外观 enter image description here

外观如何 enter image description here

我知道使用了estimatedItemSize但我无法使用它,因为这不是UICollectionViewController。谢谢你有任何建议吗?

1 个答案:

答案 0 :(得分:1)

确保:

  • 确认UICollectionViewDelegateFlowLayout
  • collectionView的宽度=屏幕的宽度。
  • 单元格的最小间距为零。您可以从Interface Builder(选择collectionView - > show size inspector - >将min spacing设置为0)或通过实现minimumInteritemSpacingForSectionAt返回零来更改它。

我希望能回答你的问题。