Swift - UITableView里的cell底部分割线左侧靠边

时间:2022-03-22 07:24:58

override func viewDidLoad() {

super.viewDidLoad()

// Do any additional setup after loading the view, typically from a nib.

// tableview顶部空白

self.automaticallyAdjustsScrollViewInsets = false

tableView = UITableView(frame: CGRectMake(10, 64, UIScreen.mainScreen().bounds.width - 20, 200), style: .Grouped)

tableView.delegate = self

tableView.dataSource = self

tableView.scrollEnabled = false

//        tableView.separatorStyle = .None

// tableview设置边框

// 设置边框的宽度

tableView.layer.borderWidth = 1

// 设置边框的颜色

tableView.layer.borderColor = UIColor.whiteColor().CGColor

// 设置UIView的边框为圆角和展现

tableView.layer.cornerRadius = 10

tableView.layer.masksToBounds = true

// 底部分割线左对齐

tableView.separatorInset = UIEdgeInsetsZero

tableView.layoutMargins = UIEdgeInsetsZero

tableView.cellLayoutMarginsFollowReadableWidth = false

self.view.addSubview(tableView)

}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCellWithIdentifier("cell") ?? UITableViewCell(style: .Default, reuseIdentifier: "cell")

cell.separatorInset = UIEdgeInsetsZero

cell.layoutMargins = UIEdgeInsetsZero

cell.preservesSuperviewLayoutMargins = false

return cell

}

PS:有时候只设置tableView和cell的SeparatorInsert和LayoutMargins仍然不能解决这个问题,左边一点距离始终没有办法封闭。
这时需要设置tableView的cellLayoutMarginsFollowReadableWidth,和cell的preservesSuperviewLayoutMargins。