问题描述
我已经创建了一个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 (将#修改为@)