如何解决CALayer在macCatalyst中的窗口调整大小时未更新
我已经创建了一个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)
}
}
使用Autolayout调整视图的大小和调整窗口的大小一样,我也尝试使用以下内容,但是在调整窗口大小时仍然不满意。
class GradientView: UIView {
override class var layerClass: AnyClass {
return CAGradientLayer.self
}
override var layer: CAGradientLayer {
return super.layer as! CAGradientLayer
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。