CALayer не обновляется при изменении размера окна в macCatalyst

#calayer #mac-catalyst

#calayer #mac-catalyst

Вопрос:

Я создал приложение macCatalyst, однако при изменении размера окна размеры CALayer не обновляются.

Например:

 extension UIView {

func addTopBorderWithColor(color: UIColor, width: CGFloat) {

    self.setNeedsLayout()
    self.layoutIfNeeded()

    let border = CALayer()
    border.name = "Top"
    border.backgroundColor = color.cgColor
    // Doesn't update
    border.frame = CGRect(x:0,y: 0, width:self.frame.size.width, height:width)
    self.layer.addSublayer(border)
}

}
  

Вид изменяется при изменении размера окна с помощью автозапуска, я также пробовал использовать следующее, но по-прежнему не радует изменение размера окна.

 class GradientView: UIView {

    override class var layerClass: AnyClass {
        return CAGradientLayer.self
    }

    override var layer: CAGradientLayer {
        return super.layer as! CAGradientLayer
    }
}