ios - 将 UICollectionView 每行的插入设置为具有动态宽度的中心项目

标签 ios swift uicollectionview

我正在尝试将具有动态大小的项目的项目集中在 Collection View 上。我想将这些项目居中,在某些情况下可以每行一个,有时两个。我找到了一种基于设置部分插入来居中项目的解决方案,但这要求所有项目的大小相同:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets {

    let totalCellWidth = CellWidth * CellCount
    let totalSpacingWidth = CellSpacing * (CellCount - 1)

    let leftInset = (collectionViewWidth - CGFloat(totalCellWidth + totalSpacingWidth)) / 2
    let rightInset = leftInset

    return UIEdgeInsetsMake(0, leftInset, 0, rightInset)
}

这是我的 Collection View 的图像,其中包含“对齐”的项目,它们之间有动态间距:

enter image description here

我的目标是更改每行的插图,使项目居中并且它们之间的间距始终相同。

知道我如何才能实现这一目标吗?

最佳答案

正如评论中所解释的,您必须为您的 collectionView 使用自定义布局。首先,您可以引用以下链接。

P.S:由于在 stackoverflow 上不建议仅共享链接,因此我将尽快更新答案并概述使用自定义布局所需的基本步骤。

关于ios - 将 UICollectionView 每行的插入设置为具有动态宽度的中心项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51428367/

相关文章:

iOS 7 和 TLS1.2 支持

ios - Swift Play 视频无法显示

swift - 在 Cocoa macos 应用程序中捕获 SIGINT

ios - Ad Hoc 应用程序的加载时间(启动时间)比 iPad 上的 App Store 签名应用程序长得多?

jquery - 如何隐藏和显示同一栏按钮项目上的 View 按下

ios - UITableViewCell 突出显示覆盖我的自定义 View

ios - 处理我希望能够引用的 10k 字典的最佳方法?

ios - 带有两个动态标签和自动布局的 UICollectionViewCell 动态高度

ios - 如何将 UIButton 添加到将与其单元格一起滚动的 UICollectionView?

ios - 如何创建水平动态的 UICollectionView 单元格? swift