我只需要在视图的左上角和左下角加圆角,所以我尝试了以下操作:

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/

10-08 20:52