Я хочу добавить фоновое представление к UITableViewCell
, а также CAShapeLayer
, чтобы действовать в качестве границы вокруг фонового представления (мне понадобится пунктирная граница).
Однако моя проблема , хотя я установил для угла и угла вид и слой одинаковые значения, они отображаются совершенно по-разному.
Кто-нибудь знает, что происходит?
Код:
final class Cell: UITableViewCell {
private let borderLayer = CAShapeLayer()
private let _backgroundView = UIView()
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
// Add a blue background view.
contentView.insertSubview(_backgroundView, at: 0)
_backgroundView.backgroundColor = .blue
_backgroundView.layer.cornerRadius = 28
// Add the border layer.
borderLayer.fillColor = nil
borderLayer.strokeColor = UIColor.red.cgColor
borderLayer.lineWidth = 2
contentView.layer.addSublayer(borderLayer)
}
override func layoutSubviews() {
super.layoutSubviews()
// Update the frames.
_backgroundView.frame = contentView.bounds
borderLayer.path = UIBezierPath(roundedRect: contentView.bounds, cornerRadius: _backgroundView.layer.cornerRadius).cgPath
}
}
Игровая площадка для воспроизведения
Любая помощь приветствуется!