我有基本的表格视图单元格,我想在它们之间设置一些间距。
我试过
cell.contentView.layoutMargins.top = 8
和
cell.layoutMargins.top = 8
但那并没有奏效。我知道我可以创建一个自定义单元格,但我想知道如何以这种方式添加边距。
修改
然后我将单元格样式更改为自定义:
并添加了一个视图,以便我可以设置一些约束
但结果仍然相同,单元格之间没有间距,而且它有点忽略了自定义视图,我想因为它需要一个自定义类的单元格,但我不想这样做。
答案 0 :(得分:6)
答案 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}}会在几个点重置。有两种解决方法: