使用Storyboard的CollectionView样式

问题描述 投票:0回答:1

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

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

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

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

编辑:此外,如果我降低尺寸,使我可以在彼此下方3,它们首先垂直堆叠而不是水平堆叠。甚至它是一个可水平滚动的收藏视图?

enter image description here

ios swift xcode uicollectionview
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.