У меня есть пользовательская ячейка UITableView
. Я устанавливаю ее нижний левый и нижний правый радиус. Я устанавливаю радиус угла в cellForAtindexPath
.Below - это код для этого
if indexPath.row == 9 {
recipeInfoCell.outerView.roundCorners(corners: [.bottomLeft, .bottomRight], radius: 10)
recipeInfoCell.layoutSubviews()
recipeInfoCell.layoutIfNeeded()
}
else {
recipeInfoCell.outerView.roundCorners(corners: [.bottomLeft, .bottomRight], radius: 0)
recipeInfoCell.layoutSubviews()
}
Теперь, когда я впервые запускаю tableview, он не устанавливает радиус угла. Но когда я снова прокручиваю, он устанавливает радиус угла.
Я создал расширение UIView
, в котором есть одна функция, которая устанавливает радиус угла
func roundCorners(corners:UIRectCorner, radius: CGFloat) {
let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
let mask = CAShapeLayer()
mask.path = path.cgPath
self.layer.mask = mask
}
Расскажите, как я могу это решить?