我只需要在视图的左上角和左下角加圆角,所以我尝试了以下操作:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCell(withIdentifier: "teamCell", for: indexPath) as! TeamCell
let view = cell.backgroundCellView
let rectShape = CAShapeLayer()
rectShape.bounds = (view?.frame)!
rectShape.position = (view?.center)!
rectShape.path = UIBezierPath(roundedRect: (view?.bounds)!, byRoundingCorners: [.topRight, .topLeft], cornerRadii: CGSize(width: 20, height: 20)).cgPath
view?.layer.mask = rectShape
view?.layer.masksToBounds = true
return cell
}
并且效果很好,但是在我设置了约束(拖尾,前导,顶部和波顿-我需要一个响应视图)之后,仅topLeft角是圆角的,而另一个则没有。我该如何解决?
最佳答案
一种简单的方法是设置单元格内容视图的角半径,然后防止内容的右角变圆,您可以限制它们在内容视图中具有x尾随空格(其中x是您的内容角半径)。这确实需要您调整布局,以解决单元格右侧的额外填充。
关于ios - 角半径仅适用于 View 的左上角和左下角,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39426187/