在基本表视图单元格之间添加间距

时间:2017-02-20 09:58:37

标签: ios swift uitableview

我有基本的表格视图单元格,我想在它们之间设置一些间距。

enter image description here

我试过

cell.contentView.layoutMargins.top = 8

cell.layoutMargins.top = 8 

但那并没有奏效。我知道我可以创建一个自定义单元格,但我想知道如何以这种方式添加边距。

修改

然后我将单元格样式更改为自定义:

enter image description here

并添加了一个视图,以便我可以设置一些约束

enter image description here

但结果仍然相同,单元格之间没有间距,而且它有点忽略了自定义视图,我想因为它需要一个自定义类的单元格,但我不想这样做。

enter image description here

5 个答案:

答案 0 :(得分:6)

您不应在单元格之间添加间距,而应将自定义containerView添加到具有顶部和/或底部约束的单元格contentView

enter image description here

答案 1 :(得分:1)

请试一试 你可以在两个单元格之间创建标题并添加空格

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return array.count
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
    return 1 // Because we need to space between two cell
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
    //Configure your cell

    let cel:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell!
    cel.textLabel?.text = array[indexPath.section] //please use section because we have only one row for all section
    return cel
}

func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat{
    return 15 // whatever you want space between two cell
}

答案 2 :(得分:0)

您实现在单元格之间添加间距是使numberOfSections = array.count并使每个部分只包含一行。然后定义headerView及其高度。

 func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return cellSpacingHeight
    }

答案 3 :(得分:0)

如果您有一个部分,请尝试交换部分中的行数和tableView中的部分数。然后,为了在两者之间的间隔,你可以使用委托:

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 10
    }

答案 4 :(得分:0)

一般情况下,使用UITableViewCell或其contentView的{​​{1}}容易出错。根据我的经验,在表重新加载期间,单元格和layoutMargins的{​​{1}}会在几个点重置。有两种解决方法:

  1. 使用间隔单元格。例如,只需创建一个透明的UITableViewCell子类,该子类在contentView上设置了特定的高度约束。
  2. 使用透明的layoutMargins子类,并将您自己的(可能不透明的)子视图添加到contentView,并将顶部/底部约束设置为所需间距的1/2。您可以覆盖UITableViewCell来控制单元格在选择时的外观。这是我在截图中使用的方法。它也适用于在左/右添加边距。
  3. enter image description here enter image description here