使用Storyboard的CollectionView样式

时间:2018-02-28 23:12:51

标签: ios swift xcode uicollectionview

所以我目前正在使用collectionViews构建一个应用程序。然而,接下来我希望行对齐居中。 (如果有意义的话)。

正如你在这张照片上看到的那样: enter image description here

两件物品之间有一个巨大的白色区域。为什么第二个项目在第一个项目下面没有像8px这样的空白区域?

此外,我希望我的应用程序可以在iPad和iPhone上运行,因此使用此应用程序可以扩展我的缩放比例。我希望我可以让每行代表视图区域的25%。我怎么做到这一点?但仍然保持它在iPad和iPhone上都很好/干净且功能齐全。

编辑: 此外,如果我缩小尺寸以使我可以彼此适合3,它们首先垂直堆叠而不是水平堆叠。甚至它是一个可水平滚动的集合视图?

enter image description here

1 个答案:

答案 0 :(得分:0)

空格是因为UICollectionView使用的是默认UICollectionViewFlowLayout

使用此方法实现您的目标:

func setCollectionLayout()
{
    let totalWidth = UIScreen.main.bounds.width
    let size = totalWidth * 0.1 // this is how you set item with a proportion of the screen
    let collectionLayout = UICollectionViewFlowLayout()
    collectionLayout.scrollDirection = .vertical
    collectionLayout.itemSize = CGSize(width: size , height: size)
    collectionLayout.minimumInteritemSpacing = 8
    collectionLayout.sectionInset = UIEdgeInsetsMake(8 , 0 , 8 , 0)
    collectionView.collectionViewLayout = collectionLayout
    collectionView.layoutSubviews()
}

如果您想进一步自定义,可以覆盖UICollectionViewFlowLayout