Ich versuche, runde Ecken für eine UIView mit einer benutzerdefinierten TableViewCell zu erstellen. Das Problem besteht darin, dass beim Laden der Tabellenansicht nur die linke obere Ecke der Ansicht und nicht die untere gerundet wird. Jetzt, wenn ich die Tischansicht ein wenig scrolle, rundet es auch den unteren linken Teil der Ansicht ab.2 Runde Ecken einer UIView in UITableViewCell funktioniert nicht
Ich habe jede mögliche Methode versucht, aber ich kann meinen Kopf nicht herumkommen. Ich befestige auch die Screenshots und kopiere den Code. Dank
Der Code, den ich in der benutzerdefinierten Ansicht Zellklasse bin mit unter.
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
}
}
Danke Für deinen Kommentar. Eigentlich war es ein Höhenproblem der Zelle. Ich habe es einfach von 130 auf 132 erhöht und es hat wie ein Zauber funktioniert. Mein Schade, dass ich nicht darüber nachdenken konnte, bevor ich herkam :) Auch die UIView war nicht im unteren Bereich des Storyboards. Für die "Trennlinie" der Zelle ist es tatsächlich sichtbar, aber ich habe einen Screenshot gemacht, so dass es nicht sichtbar ist. Was ich mit dem Scrollen gemeint habe, ist, dass, wenn ich es sogar 1px bewegte, die Zelle neu gezeichnet wurde und die untere Ecke OK zeigte. Wie auch immer, danke für den Hinweis auf das Problem. – Dropocol