如何在tableView单元格之间添加类似于Apple Health应用程序中的空格的空间?

时间:2019-05-18 16:55:54

标签: ios swift uitableview

如何自定义tableView,使其在每个tableView单元格之间都具有一个类似于Health App中橙色tableView的空间。

enter image description here

我想使其尽可能接近。

这是我目前拥有的,我使用白色边框添加了单元格之间的间隔,并为拐角添加了半径8。

除了添加白色边框,还有什么更好的选择?

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cellIdentifier: String = "stockCell"
    let myCell: UITableViewCell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier)!

    myCell.textLabel?.textAlignment = .center
    myCell.textLabel?.font = .boldSystemFont(ofSize: 18)
    myCell.textLabel?.textColor = UIColor.white
    myCell.layer.backgroundColor = UIColor(red:0.86, green:0.25, blue:0.25, alpha:1.0).cgColor

    let item: StockModel = feedItems[indexPath.row] as! StockModel

    myCell.layer.cornerRadius = 8.0
    myCell.layer.masksToBounds = true
    myCell.layer.borderColor = UIColor.white.cgColor
    myCell.layer.borderWidth = 5.0

    myCell.layer.cornerRadius = 20
    myCell.clipsToBounds = true
}

4 个答案:

答案 0 :(得分:0)

您只需要在表视图单元的容器视图内拍摄一个视图,并将其约束固定在顶部,底部,左侧,右侧(如5px)或您想要在单元格中放置的任何空间,然后在该视图上应用背景颜色和角半径。

供参考, 我为您创建了一个演示。因此,请参考下面的链接并检查演示和所有内容,然后让我知道

https://bitbucket.org/Ahemadabbas/celldemo/src/master/

enter image description here

答案 1 :(得分:0)

使用UITableView而不是使用UICollectionView,您可以在其中轻松设置单元格之间的间距。您可以在此处设置UICollectionView的间距(最小间距):

<code>UICollectionView</code> Insets

答案 2 :(得分:-1)

您的解决方案是最简单直接的方法。 根据我的经验,有一些替代方法

  1. 使用row代替section,为每个部分创建空标题
  2. 可以使用tableview代替collectionview,而可以使用行/列之间的边缘插入

希望这会有所帮助!

答案 3 :(得分:-1)

如果要避免在单元格中包括边距,可以切换到UICollectionView。使用默认UICollectionViewFlowLayout并自定义itemSizeminimumLineSpacing的基本实现应该可以为您提供所需的确切信息。在此配置中,实现起来并不比UITableView困难。