Swift中的UITableViewCell框架边距

时间:2019-04-27 15:30:59

标签: ios swift uitableview

我要输入单元格坐标。当我应用以下代码时,单元格将从应用程序中消失。如何调整帧边距?

 override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath)
    {
        cell.layoutMargins = UIEdgeInsets(top: 50, left: 25, bottom: 0, right: 25)
        cell.preservesSuperviewLayoutMargins = false     
    }

2 个答案:

答案 0 :(得分:0)

您需要将行高设置为所需内容高度与所需页边距高度的总和。

如果所有行的高度都相同,请将表格视图的rowHeight属性设置为足以满足所需内容高度和所需的上下边距的数字。

如果每一行的高度都不相同,请实施heightForRowAt委托方法并返回所需的总高度(包括边距)。

答案 1 :(得分:0)

对于单元格,请尝试以下操作:

override func tableView(tableView: UITableView, 
             willDisplayCell cell: UITableViewCell,
      forRowAtIndexPath indexPath: NSIndexPath)
{
    cell.separatorInset = UIEdgeInsetsZero
    cell.preservesSuperviewLayoutMargins = false
    cell.layoutMargins = UIEdgeInsetsZero
}

但是根据编辑后的信息,您似乎在表视图的容器视图中有边距。要么是由于您在表视图和视图之间的约束(一个接一个地检查它们),要么是视图中有布局边距,在这种情况下,请尝试;

 override func viewDidLoad() {
     // ... 
     self.view.layoutMargins = UIEdgeInsetsZero
 }