我想在tableview标题的左上角和右上角以及tableview页脚的两个底角添加圆角。我发现UIBezierPath是解决方案,但我的问题是只有一个角是圆形而另一个角不是。这是我的代码:
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerCell = tableView.dequeueReusableCellWithIdentifier("headerCell") as! myCustomHeaderCell
let layer = CAShapeLayer()
let corners = UIRectCorner.TopLeft.union(UIRectCorner.TopRight)
layer.path = UIBezierPath(roundedRect: CGRect(x: 0, y: 0, width: headerCell.frame.width, height: headerCell.frame.height), byRoundingCorners: corners, cornerRadii:CGSizeMake(20.0, 20.0)).CGPath
headerCell.layer.mask = layer
return headerCell
}
错误在哪里?我需要更改什么才能使其正常工作?
非常感谢你的帮助!
答案 0 :(得分:0)
我在设置bezier路径和约束时也发现了这个问题,但你可以设置headerCell.layer.cornerRadius = 20替换bezier,然后创建一个新视图,将其backgroundColor设置为与headerCell的backgroundColor相同(在InterfaceBuilder中或编程)将它设置在headerCell上方以屏蔽headerCell bottomLeft和bottomRight圆角。