ios - 如何向 UICollectionView 添加适当的填充?

标签 ios swift xcode uicollectionview uicollectionviewcell

我的 UICollectionView 的背景图片在宽度和高度方面总是比 UICollectionView 小。这是图片(背景白色是整个 UICollectionView 大小):

The content is outside the UICollectionView

正如您从图片中看到的那样,这会导致内容超出背景图像。当我向右滚动时,会发生这种情况(我清除了 CollectionView 的背景颜色):

enter image description here

这是 CollectionView 的大小检查器:

collection view size inspector

如何减小 CollectionView 中单元格容器的大小?

或者解决这个问题的正确方法是什么?

最佳答案

有 3 种方法可以解决您的问题:

  1. 在 Storyboard 或 .xib 上:将图像和收藏 View 拆分为两个不同的 UI 元素。使 CollectionView 约束位于 ImageView 内。将 Collection View 的前导、顶部、尾随和底部约束与 ImageView 的相同约束对齐,前导和尾部的偏移量为 10 或 15。

  2. 代码中:如果使用UICollectionViewFlowLayout,可以使用UICollectionViewDelegateFlowLayout方法:

public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets { }

返回 UIEdgeInsets(top: 0, left: 15, bottom: 0, right: 15),这样你的部分的左边缘和右边缘填充到背景图像中稍微深一点。

  1. 在代码中:使用 collectionView.contentInset = UIEdgeInsets(top: 0, left: 15, bottom: 0, right: 15) 将 Collection View 的全部内容更深地移动到背景图像中。

关于ios - 如何向 UICollectionView 添加适当的填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47476705/

相关文章:

swift - 如何快速实现这种格式?

ios - Swift:从 url 下载数据导致 semaphore_wait_trap 卡住

ios - 为什么我可以直接在我的设备上安装应用程序商店分发版本?

iphone - UIWebView 的内存问题

iphone - 在 Core Data 中使用 Fetch Request 返回什么对象?

javascript - 防止键盘在 iOS 中弹出

swift - Swift 错误 : "unrecognized selector sent to instance 0x7fa208d0a2b0"

iphone - 当我重新加载 UIWebView 的内容时制作翻转动画(或类似的动画)

ios - 'Int' 不是 '()' Swift 的子类型

ios - CocoaPods 安装失败 "Failed to build gem native extension"