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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...