UITableViewCell右侧的边框不可见

时间:2016-07-24 21:07:54

标签: ios swift uitableview

我正在尝试在表格视图单元格周围添加边框。以下是cellForRowAtIndexPath中的代码:

 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)
        cell.separatorInset.left = 20.0
        cell.separatorInset.right = 20.0
        cell.separatorInset.top = 20.0
        cell.separatorInset.bottom = 20.0
        cell.layer.borderWidth = 3
        cell.layer.cornerRadius = 20.0
        cell.layer.borderColor = UIColor.colorWithHexString("80CBC4").CGColor
        return cell
    }

除右侧外,边界适用于三个方面: enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

尝试将maskToBounds设置为true图层属性的代码:

  

当此属性的值为true时,Core Animation会创建一个与图层边界匹配的隐式剪切蒙版,并包含任何角半径效果。如果还指定了mask属性的值,则将两个掩码相乘以获取最终的掩码值。   此属性的默认值为false

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)
        cell.separatorInset.left = 20.0
        cell.separatorInset.right = 20.0
        cell.separatorInset.top = 20.0
        cell.separatorInset.bottom = 20.0
        cell.contentView.layer.borderWidth = 3
        cell.contentView.layer.cornerRadius = 20.0
        cell.contentView.layer.borderColor = UIColor.colorWithHexString("80CBC4").CGColor
        cell.contentView.layer.masksToBounds  = true
        return cell
}

答案 1 :(得分:0)

您可能已指定固定宽度约束。 您应该删除它并指定前导和尾随约束。