在表视图的单元格中,可以通过以下两种方式来填充和设置间距:
// 在tableView(_:cellForRowAt:)方法中设置约束
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! CustomTableViewCell
// 清除之前的约束
cell.contentView.constraints.forEach { constraint in
cell.contentView.removeConstraint(constraint)
}
// 创建新的约束
let leadingConstraint = NSLayoutConstraint(item: cell.contentView, attribute: .leading, relatedBy: .equal, toItem: cell, attribute: .leadingMargin, multiplier: 1, constant: 0)
let trailingConstraint = NSLayoutConstraint(item: cell.contentView, attribute: .trailing, relatedBy: .equal, toItem: cell, attribute: .trailingMargin, multiplier: 1, constant: 0)
let topConstraint = NSLayoutConstraint(item: cell.contentView, attribute: .top, relatedBy: .equal, toItem: cell, attribute: .topMargin, multiplier: 1, constant: 0)
let bottomConstraint = NSLayoutConstraint(item: cell.contentView, attribute: .bottom, relatedBy: .equal, toItem: cell, attribute: .bottomMargin, multiplier: 1, constant: 0)
// 激活约束
NSLayoutConstraint.activate([leadingConstraint, trailingConstraint, topConstraint, bottomConstraint])
return cell
}
// 在tableView(_:cellForRowAt:)方法中设置边距
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! CustomTableViewCell
// 设置单元格的布局边距
cell.layoutMargins = UIEdgeInsets(top: 8, left: 16, bottom: 8, right: 16)
return cell
}
通过上述两种方法,可以在表视图的单元格中实现填充和设置间距的效果。根据具体需求选择其中一种方法即可。