#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
}
}