2017-04-10 414 views
-1

我想在包含2个部分的页面上构建一个集合视图。我希望第1节单元的颜色为黄色,第2节单元格为蓝色。Collectionview没有填充单元格标签

我已经设法让collectionview单元出现 - 但是单元之间没有任何填充 - 以及背景颜色结束的地方。如何在细胞周围添加更多彩色填充物以使其看起来更整洁? (最好有接口生成器) 截图: Collectionview no padding

编辑:加入边插图我的自定义单元格后 - 它让我更接近我所追求的,但似乎截断文本 - 和删除我的圆角:

代码:

override func drawText(in rect: CGRect) { 
    let insets = UIEdgeInsets.init(top: 5, left: 5, bottom: 5, right: 5) 
     super.drawText(in: UIEdgeInsetsInsetRect(rect, insets)) 
    } 

Insets

有没有办法让UICollectionViewFlowLayoutAutomaticSize考虑到额外的10瓦特宽度并保持圆角(使用插页时)?

回答

0

您可以先使用UIView设置其约束,然后在该视图中添加标签。

最后根据您的选择给单元格,UIView,标签赋予适当的颜色。

+0

感谢 - 但增加了细胞周围景色 - 不让我的细胞本身内增加更多的填充。 (见上面的屏幕截图) –

+0

您可以将UIView约束设置为渴望约束条件的单元格(例如前导,尾随,顶部和底部为5) –

+1

这将导致更多的颜色填充,但现在我知道你想要简单的间距之间的单元格 –

2

如果您使用的是UICollectionViewFlowLayout,则可以通过设置布局实例的属性来调整Interface Builder中的行间距和项目间距。

您可以在Interface Builder的左侧窗格中的UICollectionView实例的下面/内找到布局实例。

  1. 开放接口生成器
  2. 查找UICollectionView
  3. 选择Size Inspector标签内UICollectionViewFlowLayout对象在右窗格中
  4. 变化Min Spacing

注:这将会使你的细胞之间的一些空间。如果你想改变你的单元格或标签的内容,你应该使用自定义单元格。 内容的插图添加到您的UILabel S,你可以看看this question和/或that question

+0

非常感谢@ Mert-实际上最后一点是我后 - 如何我更改内容插入如果我有一个自定义单元格(我有) –

+0

然后您的问题变成“如何将contentInsets添加到UILabel ?”。在这个问题上已经有很多问题了,我在答案中加了两个。希望可以帮助 –

+0

谢谢Mert - 我尝试了第一种解决方案 - 它似乎截断了所有内容)(已将此添加到上述问题中),以便您可以看到输出结果 - 我想我需要做更多的工作来处理内在内容大小。对于一个简单的常见用例来说,这似乎有很多工作要做。希望我只是想念一些东西。准确地说是 –