UITableViewCell中UIView的2个圆angular不起作用

我想创build一个UIView自定义TableViewCell的圆angular。 问题是当表格视图加载时,它只是围绕视图的左上angular而不是底部。 现在,当我滚动表格视图一点,它也围绕视图的左下angular。

我已经尝试了所有可能的方法,但是我无法理解它。 我也附上截图以及复制代码。 谢谢

表格单元格图像

下面是我在自定义视图单元格类中使用的代码。

class FoodTVCell: UITableViewCell { var food: Food! @IBOutlet weak var foodPicture: UIImageView! @IBOutlet weak var foodName: UILabel! @IBOutlet weak var foodRating: UIImageView! @IBOutlet weak var deliveryTime: UILabel! @IBOutlet weak var minOrder: UILabel! @IBOutlet weak var category: UILabel! @IBOutlet weak var foodPriceLabelBG: UIView! @IBOutlet weak var foodPrice: UILabel! override func awakeFromNib() { super.awakeFromNib() foodPicture.layer.cornerRadius = 75/2 foodPicture.clipsToBounds = true } override func layoutSubviews() { super.layoutSubviews() let maskLayer = CAShapeLayer() let corners = UIRectCorner.TopLeft.union(UIRectCorner.BottomLeft) maskLayer.path = UIBezierPath(roundedRect: foodPriceLabelBG.bounds, byRoundingCorners: corners, cornerRadii: CGSizeMake(20.0, 20.0)).CGPath foodPriceLabelBG.layer.mask = maskLayer foodPriceLabelBG.clipsToBounds = true } } 

你的“四舍五入”代码工作得很好,问题是你的UIView的底部边缘超出了你的Cell底部边缘。 减less你的UIViewY位置,它将被你的Cell覆盖。 我看到你的单元格的分隔线也是不可见的,这意味着你应该在heightForRowAtIndexPath:处给单元格放一个更大的高度heightForRowAtIndexPath:

你说在滚动方面工作得很好,我认为它在滚动时工作,在滚动到顶部时不工作。 这意味着你的第一个单元格在滚动到底部(第二个单元格不覆盖你的第一个单元格)之后被重新绘制,反之亦然,当滚动到顶部时(第二个单元格覆盖你的第一个单元格)