首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将每行的UICollectionView insets设置为具有动态宽度的居中项目

将每行的UICollectionView insets设置为具有动态宽度的居中项目
EN

Stack Overflow用户
提问于 2018-07-20 01:08:28
回答 1查看 503关注 0票数 0

我正在尝试将项目放在具有动态大小的项目的集合视图上。我希望将这些项居中,在某些情况下可以是每行一个,在某些情况下可以是两个。我找到了一种基于设置节的插入来居中项目的解决方案,但这要求所有项目的大小都相同:

代码语言:javascript
复制
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)
}

这是我的收藏视图的图像,带有“对齐”项,它们之间有动态间距:

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

你知道我该怎么做吗?

EN

回答 1

Stack Overflow用户

发布于 2018-07-20 02:22:41

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

附言:由于在stackoverflow上不推荐只分享链接,所以我将尽快更新答案,并概述使用自定义布局所需的基本步骤。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51428367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档