ios - 减少 UICollectionView 中的项目间距

标签 ios iphone swift uicollectionview uicollectionviewlayout

我已经查过了:-

UICollectionView distance between cells?

Cell spacing in UICollectionView

Decrease Space between UICollectionViewCells

但它们都不适合我。

我还尝试实现了 UICollectionViewDelegateFlowLayout 并实现了

 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
    return 3
}

但对它没有影响。

请看以下iPhone 7/iPhone 5s/iPhone 7 Plus截屏(图序相同)

iPhone 7

iPhone 5S

iPhone 7 Plus

我也查看了自动调整大小的单元格,但我不想要自动调整大小的单元格,因为我的项目大小始终是固定的并且符合我的要求。

我还在 Storyboard中设置了单元格的最小间距,但它对布局没有影响。

如何减少两个单元格之间的大间隙(项间距),避免在 iPhone 5S 和 iPhone 7 Plus 中右侧的空白区域(你看不到因为背景是白色的)

任何见解将不胜感激。

最佳答案

如果您的单元格大小为“固定”,则无法避免间隙,因为您硬编码了固定宽度!

您需要计算 collectionView.frame 的总宽度并将其除以 2,还包括项目之间的间距,而不是“固定”尺寸。快速输入示例:

(计算像元大小)

CGFloat spacing = 3.0f
CGFloat itemWidth = collectionView.frame.size.width / 2 - spacing
CGSize totalSize = itemWidth, itemWidth

关于ios - 减少 UICollectionView 中的项目间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41697358/

相关文章:

objective-c - 开发证书和分发证书的区别

iphone - ios:显示可变长度、多行文本的最佳方式

ios - 如何让 Xcode 调试器再次显示 'self' 和变量值?

ios - 使用自动布局时如何使 UIScrollView 仅在一个方向上缩放

ios - IOS8中出现错误“沙箱拒绝iokit-get-properties”

ios - 是否可以在后台运行 CLLocationManager

iphone - 在 View 过渡动画完成后执行选择器或动画

swift - 我试图将一个 sider 连接到变量 "Cannot invoke initializer for type "Int",并使用类型为 '(_)' 的参数列表"

ios - 使用 "PhoneGap Build"提交到 App Store 构建的 PhoneGap 应用程序

ios - 如何在 Swift 中保存一次整数?