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。